X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=support%2Fdoc%2Fdependencies.md;h=35812aa8bdc11046764bf408735ae2ff621c9a93;hb=11b8762f9c815930982599f4ff90c0db60eaf0ca;hp=66b9190eb744313fc9cc0b4fe9a8ea7c52b5d408;hpb=4c86a254a5d315ebcfdbc88927b42c2d06e8f1c7;p=github%2FChocobozzz%2FPeerTube.git diff --git a/support/doc/dependencies.md b/support/doc/dependencies.md index 66b9190eb..35812aa8b 100644 --- a/support/doc/dependencies.md +++ b/support/doc/dependencies.md @@ -13,13 +13,13 @@ [https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions) 4. Install NodeJS 8.x (current LTS): [https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions) - 5. Install yarn: + 5. Install yarn, and be sure to have a recent version (>= 1.5.1, the latest release): [https://yarnpkg.com/en/docs/install#linux-tab](https://yarnpkg.com/en/docs/install#linux-tab) 6. Run: ``` $ sudo apt update -$ sudo apt install nginx ffmpeg postgresql openssl g++ make redis-server git +$ sudo apt install nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git $ ffmpeg -version # Should be >= 3.x $ g++ -v # Should be >= 5.x ``` @@ -54,79 +54,108 @@ $ sudo pacman -S nodejs yarn ffmpeg postgresql openssl redis git wget unzip pyth $ sudo yum update $ sudo yum install epel-release centos-release-scl $ sudo yum update -$ sudo yum install nginx postgresql postgresql-server openssl gcc-c++ make redis git devtoolset-6 +$ sudo yum install nginx postgresql postgresql-server postgresql-contrib openssl gcc-c++ make redis git devtoolset-7 ``` - 5. You need to use a more up to date version of G++ in order to run the yarn install command, hence the installation of devtoolset-6. + 5. You need to use a more up to date version of G++ in order to run the yarn install command, hence the installation of devtoolset-7. ``` -$ sudo scl devtoolset-6 bash +$ sudo scl enable devtoolset-7 bash +``` + +Later when you invoke any node command, please prefix them with `CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++`, such as with: + +``` +$ sudo -H -u peertube CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ yarn install --production --pure-lockfile ``` ## FreeBSD On a fresh install of [FreeBSD](https://www.freebsd.org), new system or new jail: - 1. edit `/etc/pkg/FreeBSD.conf` to use latest instead quaterly (installation was tested with the latest repository), as root: - + 1. bootstrap pkg, initialize db and install peertube's dependencies, always as root (sudo not yet installed): ``` -# ee /etc/pkg/FreeBSD.conf +# pkg +# pkg update +# pkg install -y sudo bash wget git python nginx pkgconf vips postgresql96-server postgresql96-contrib redis openssl node npm yarn ffmpeg unzip ``` - change this line (11): - + 2. Allow users in the wheel group (hope you don't forgot to add your user on wheel group!) to use sudo ``` - url: "pkg+http://pkg.FreeBSD.org/${ABI}/quaterly", +# visudo ``` - to: - + Uncomment the line 90 ``` - url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", +%wheel ALL=(ALL) ALL ``` - 2. bootsrap pkg, initialize db and install peertube's dependencies, always as root (sudo not yet installed): + 3. Enable nginx, redis, postgresql services and initialize database ``` -# pkg -# pkg update -# pkg install -y sudo bash wget git python nginx pkgconf vips postgresql96-server redis openssl node npm yarn ffmpeg unzip +# sysrc postgresql_enable="YES" +# sysrc redis_enable="YES" +# sysrc nginx_enable="YES" ``` - 3. Allow users in the wheel group (hope you don't forgot to add your user on wheel group!) to use sudo - + Initialize database and start services ``` -# visudo +# service postgresql initdb +# service postgresql start +# service redis start +# service nginx start ``` - Uncomment the line 90 +## macOS +* Add the packages: -``` -%wheel ALL=(ALL) ALL -``` + ``` + brew install ffmpeg nginx postgresql openssl gcc make redis git yarn + ``` +* Run the services: - 4. Enable nginx, redis, postgresql services and initialize database + ``` + brew services run postgresql + brew services run redis + ``` +## Gentoo + +* Add this to ``/etc/portage/sets/peertube``: ``` -# ee /etc/rc.conf -``` +net-libs/nodejs +sys-apps/yarn +media-video/ffmpeg[x264] # Optionnally add vorbis,vpx +dev-db/postgresql +dev-db/redis +dev-vcs/git +app-arch/unzip +dev-lang/python:2.7 +www-servers/nginx +media-libs/vips[jpeg,png,exif] - Add the following lines +# Optionnal, client for Let’s Encrypt: +# app-crypt/certbot +# app-crypt/certbot-nginx +``` +* Compile the peertube set: ``` -postgresql_enable="YES" -redis_enable="YES" -nginx_enable="YES" +emerge -a @peertube ``` - Initialize database and start services - +* Initialize the PostgreSQL database if you just merged it: ``` -# service postgresql initdb -# service postgresql start -# service redis start -# service nginx start +emerge --config postgresql ``` +* (For OpenRC) Enable and then start the services (replace with the correct PostgreSQL slot): +``` +rc-update add redis +rc-update add postgresql-10 +rc-service redis start +rc-service postgresql-10 start +``` + ## Other distributions Feel free to update this file in a pull request!