add dependencies for Fedora (#1111)
authoram97 <andy.maldo@hotmail.com>
Sun, 23 Sep 2018 13:14:15 +0000 (15:14 +0200)
committerRigel Kent <par@rigelk.eu>
Sun, 23 Sep 2018 13:14:15 +0000 (15:14 +0200)
support/doc/dependencies.md

index 94fabe11c90932a4ac9a4c6263e30ddeb5703c00..74a8b117e90509d964c6723c2bcc25dc5e8cd8f6 100644 (file)
@@ -84,6 +84,74 @@ $ sudo service redis start
 $ sudo service postgresql start
 ```
 
+## Fedora
+
+0. Upgrade your packages:
+```
+dnf upgrade
+```
+1. Add a user with sudoers group access:
+```
+useradd my-peertube-user
+passwd my-peertube-user
+usermod my-peertube-user -a -G wheel   # Add my-peertube-user to sudoers
+su my-peertube-user
+```
+2. (Optional) Install certbot (choose instructions for nginx and your distribution) :
+[https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions)
+3. Install NodeJS 8.x (current LTS):
+[https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora](https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora)
+4. Install yarn:
+[https://yarnpkg.com/en/docs/install](https://yarnpkg.com/en/docs/install)
+5. Enable [RPM Fusion](https://rpmfusion.org) for Fedora (available for x86, x86_64, armhfp)
+```
+sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
+```
+This is necessary because `ffmpeg` is not in the Fedora repos.
+
+6. Run:
+```
+sudo dnf install nginx ffmpeg postgresql-server postgresql-contrib openssl gcc-c++ make redis git
+ffmpeg -version # Should be >= 3.x
+g++ -v # Should be >= 5.x
+```
+7. Post-installation
+
+_from [PostgreSQL documentation](https://www.postgresql.org/download/linux/redhat/):_
+> Due to policies for Red Hat family distributions, the PostgreSQL installation will not be enabled for automatic start or have the database initialized automatically.
+```
+# PostgreSQL
+sudo postgresql-setup initdb
+sudo systemctl enable postgresql.service
+sudo systemctl start postgresql.service
+# Nginx
+sudo systemctl enable nginx.service
+sudo systemctl start nginx.service
+# Redis
+sudo systemctl enable redis.service
+sudo systemctl start redis.service
+```
+8. Firewall
+
+By default, you cannot acces your server via public IP. To do so, you must configure firewall:
+```
+# Ports used by peertube dev setup
+sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
+sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp
+# Optional
+sudo firewall-cmd --permanent --zone=public --add-service=http
+sudo firewall-cmd --permanent --zone=public --add-service=https
+# Reload firewall
+sudo firewall-cmd --reload
+```
+9. Configure max ports
+
+This is necessary if you are running dev setup, otherwise you will have errors with `nodemon`
+```
+echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
+```
+[More info](https://stackoverflow.com/questions/34662574/node-js-getting-error-nodemon-internal-watch-failed-watch-enospc#34664097)
+
 ## FreeBSD
 
 On a fresh install of [FreeBSD](https://www.freebsd.org), new system or new jail: