Try to improve install doc

This commit is contained in:
Chocobozzz 2021-01-11 10:09:24 +01:00
parent c2b823826d
commit d8658f0f81
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
4 changed files with 28 additions and 18 deletions

View File

@ -4,6 +4,7 @@ listen:
hostname: '127.0.0.1' hostname: '127.0.0.1'
port: 9000 port: 9000
# Correspond to your reverse proxy server_name/listen configuration (i.e., your public PeerTube instance URL)
webserver: webserver:
https: false https: false
hostname: 'localhost' hostname: 'localhost'

View File

@ -2,7 +2,7 @@ listen:
hostname: 'localhost' hostname: 'localhost'
port: 9000 port: 9000
# Correspond to your reverse proxy server_name/listen configuration # Correspond to your reverse proxy server_name/listen configuration (i.e., your public PeerTube instance URL)
webserver: webserver:
https: true https: true
hostname: 'example.com' hostname: 'example.com'

View File

@ -28,18 +28,16 @@ Follow the below guides, and check their versions match [required external depen
2. It would be wise to disable root access and to continue this tutorial with a user with sudoers group access 2. It would be wise to disable root access and to continue this tutorial with a user with sudoers group access
3. Install certbot (choose instructions for nginx and your distribution) : 3. Install NodeJS 10.x:
[https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions)
4. Install NodeJS 10.x:
[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) [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, and be sure to have [a recent version](https://github.com/yarnpkg/yarn/releases/latest): 4. Install yarn, and be sure to have [a recent version](https://github.com/yarnpkg/yarn/releases/latest):
[https://yarnpkg.com/en/docs/install#linux-tab](https://yarnpkg.com/en/docs/install#linux-tab) [https://yarnpkg.com/en/docs/install#linux-tab](https://yarnpkg.com/en/docs/install#linux-tab)
6. Run: 5. Run:
``` ```
sudo apt update sudo apt update
sudo apt install nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git python-dev sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git python-dev
ffmpeg -version # Should be >= 4.1 ffmpeg -version # Should be >= 4.1
g++ -v # Should be >= 5.x g++ -v # Should be >= 5.x
``` ```
@ -169,7 +167,7 @@ usermod my-peertube-user -a -G wheel # Add my-peertube-user to sudoers
su my-peertube-user su my-peertube-user
``` ```
3. (Optional) Install certbot (choose instructions for nginx and your distribution): 3. (Optional) Install certbot (choose instructions for your distribution):
[https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions) [https://certbot.eff.org/all-instructions](https://certbot.eff.org/all-instructions)
4. Install NodeJS 10.x: 4. Install NodeJS 10.x:
@ -309,7 +307,6 @@ www-servers/nginx
# Optional, client for Lets Encrypt: # Optional, client for Lets Encrypt:
# app-crypt/certbot # app-crypt/certbot
# app-crypt/certbot-nginx
``` ```
2. If you are on a "stable" Gentoo you need to accept the testing keyword ~amd64 yarn: 2. If you are on a "stable" Gentoo you need to accept the testing keyword ~amd64 yarn:

View File

@ -58,18 +58,21 @@ $ VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/la
Open the peertube directory, create a few required directories Open the peertube directory, create a few required directories
``` ```
$ cd /var/www/peertube && sudo -u peertube mkdir config storage versions && cd versions $ cd /var/www/peertube
$ sudo -u peertube mkdir config storage versions
``` ```
Download the latest version of the Peertube client, unzip it and remove the zip Download the latest version of the Peertube client, unzip it and remove the zip
``` ```
$ cd /var/www/peertube/versions
$ sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" $ sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
$ sudo -u peertube unzip peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip $ sudo -u peertube unzip peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip
``` ```
Install Peertube: Install Peertube:
``` ```
$ cd ../ && sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest $ cd /var/www/peertube
$ sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
$ cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile $ cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile
``` ```
@ -79,17 +82,20 @@ Copy the default configuration file that contains the default configuration prov
You **must not** update this file. You **must not** update this file.
``` ```
$ cd /var/www/peertube && sudo -u peertube cp peertube-latest/config/default.yaml.example config/default.yaml $ cd /var/www/peertube
$ sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml
``` ```
Now copy the production example configuration: Now copy the production example configuration:
``` ```
$ cd /var/www/peertube && sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml $ cd /var/www/peertube
$ sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml
``` ```
Then edit the `config/production.yaml` file according to your webserver Then edit the `config/production.yaml` file according to your webserver
configuration. Keys defined in `config/production.yaml` will override keys defined in `config/default.yaml`. and database configuration (`webserver`, `database`, `redis`, `smtp` and `admin.email` sections in particular).
Keys defined in `config/production.yaml` will override keys defined in `config/default.yaml`.
**PeerTube does not support webserver host change**. Even though [PeerTube CLI can help you to switch hostname](https://docs.joinpeertube.org/maintain-tools?id=update-hostjs) there's no official support for that since it is a risky operation that might result in unforeseen errors. **PeerTube does not support webserver host change**. Even though [PeerTube CLI can help you to switch hostname](https://docs.joinpeertube.org/maintain-tools?id=update-hostjs) there's no official support for that since it is a risky operation that might result in unforeseen errors.
@ -132,14 +138,20 @@ $ sudo certbot certonly --standalone --post-hook "systemctl start nginx"
$ sudo systemctl reload nginx $ sudo systemctl reload nginx
``` ```
Remember your certificate will expire in 90 days, and thus needs renewal.
Now you have the certificates you can reload nginx: Now you have the certificates you can reload nginx:
``` ```
$ sudo systemctl reload nginx $ sudo systemctl reload nginx
``` ```
Certbot should have installed a cron to automatically renew your certificate.
Since our nginx template supports webroot renewal, we suggest you to update the renewal config file to use the `webroot` authenticator:
```
$ # Replace authenticator = standalone by authenticator = webroot
$ sudo vim /etc/letsencrypt/renewal/your-domain.com.conf
```
**FreeBSD** **FreeBSD**
On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/) On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/)
@ -233,8 +245,8 @@ $ tail -f /var/log/peertube/peertube.log
### Administrator ### Administrator
The administrator password is automatically generated and can be found in the The administrator password is automatically generated and can be found in the PeerTube
logs. You can set another password with: logs (path defined in `production.yaml`). You can also set another password with:
``` ```
$ cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root $ cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root