aboutsummaryrefslogtreecommitdiffhomepage
path: root/support/doc/production.md
diff options
context:
space:
mode:
Diffstat (limited to 'support/doc/production.md')
-rw-r--r--support/doc/production.md152
1 files changed, 76 insertions, 76 deletions
diff --git a/support/doc/production.md b/support/doc/production.md
index 74bd3a673..30db453e0 100644
--- a/support/doc/production.md
+++ b/support/doc/production.md
@@ -17,25 +17,25 @@ Follow the steps of the [dependencies guide](/support/doc/dependencies.md).
17Create a `peertube` user with `/var/www/peertube` home: 17Create a `peertube` user with `/var/www/peertube` home:
18 18
19```bash 19```bash
20$ sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube 20sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
21``` 21```
22 22
23Set its password: 23Set its password:
24```bash 24```bash
25$ sudo passwd peertube 25sudo passwd peertube
26``` 26```
27 27
28Ensure the peertube root directory is traversable by nginx: 28Ensure the peertube root directory is traversable by nginx:
29 29
30```bash 30```bash
31$ ls -ld /var/www/peertube # Should be drwxr-xr-x 31ls -ld /var/www/peertube # Should be drwxr-xr-x
32``` 32```
33 33
34**On FreeBSD** 34**On FreeBSD**
35 35
36```bash 36```bash
37$ sudo pw useradd -n peertube -d /var/www/peertube -s /usr/local/bin/bash -m 37sudo pw useradd -n peertube -d /var/www/peertube -s /usr/local/bin/bash -m
38$ sudo passwd peertube 38sudo passwd peertube
39``` 39```
40or use `adduser` to create it interactively. 40or use `adduser` to create it interactively.
41 41
@@ -44,22 +44,22 @@ or use `adduser` to create it interactively.
44Create the production database and a peertube user inside PostgreSQL: 44Create the production database and a peertube user inside PostgreSQL:
45 45
46```bash 46```bash
47$ cd /var/www/peertube 47cd /var/www/peertube
48$ sudo -u postgres createuser -P peertube 48sudo -u postgres createuser -P peertube
49``` 49```
50 50
51Here you should enter a password for PostgreSQL `peertube` user, that should be copied in `production.yaml` file. 51Here you should enter a password for PostgreSQL `peertube` user, that should be copied in `production.yaml` file.
52Don't just hit enter else it will be empty. 52Don't just hit enter else it will be empty.
53 53
54```bash 54```bash
55$ sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod 55sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod
56``` 56```
57 57
58Then enable extensions PeerTube needs: 58Then enable extensions PeerTube needs:
59 59
60```bash 60```bash
61$ sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod 61sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod
62$ sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod 62sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod
63``` 63```
64 64
65### :page_facing_up: Prepare PeerTube directory 65### :page_facing_up: Prepare PeerTube directory
@@ -67,35 +67,35 @@ $ sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod
67Fetch the latest tagged version of Peertube: 67Fetch the latest tagged version of Peertube:
68 68
69```bash 69```bash
70$ VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION" 70VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION"
71``` 71```
72 72
73 73
74Open the peertube directory, create a few required directories: 74Open the peertube directory, create a few required directories:
75 75
76```bash 76```bash
77$ cd /var/www/peertube 77cd /var/www/peertube
78$ sudo -u peertube mkdir config storage versions 78sudo -u peertube mkdir config storage versions
79$ sudo -u peertube chmod 750 config/ 79sudo -u peertube chmod 750 config/
80``` 80```
81 81
82 82
83Download the latest version of the Peertube client, unzip it and remove the zip: 83Download the latest version of the Peertube client, unzip it and remove the zip:
84 84
85```bash 85```bash
86$ cd /var/www/peertube/versions 86cd /var/www/peertube/versions
87$ # Releases are also available on https://builds.joinpeertube.org/release 87# Releases are also available on https://builds.joinpeertube.org/release
88$ sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" 88sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
89$ sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip 89sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip
90``` 90```
91 91
92 92
93Install Peertube: 93Install Peertube:
94 94
95```bash 95```bash
96$ cd /var/www/peertube 96cd /var/www/peertube
97$ sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest 97sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
98$ cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile 98cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile
99``` 99```
100 100
101### :wrench: PeerTube configuration 101### :wrench: PeerTube configuration
@@ -104,15 +104,15 @@ Copy the default configuration file that contains the default configuration prov
104You **must not** update this file. 104You **must not** update this file.
105 105
106```bash 106```bash
107$ cd /var/www/peertube 107cd /var/www/peertube
108$ sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml 108sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml
109``` 109```
110 110
111Now copy the production example configuration: 111Now copy the production example configuration:
112 112
113```bash 113```bash
114$ cd /var/www/peertube 114cd /var/www/peertube
115$ sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml 115sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml
116``` 116```
117 117
118Then edit the `config/production.yaml` file according to your webserver and database configuration. In particular: 118Then edit the `config/production.yaml` file according to your webserver and database configuration. In particular:
@@ -134,45 +134,45 @@ We only provide official configuration files for Nginx.
134Copy the nginx configuration template: 134Copy the nginx configuration template:
135 135
136```bash 136```bash
137$ sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube 137sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
138``` 138```
139 139
140Then set the domain for the webserver configuration file. 140Then set the domain for the webserver configuration file.
141Replace `[peertube-domain]` with the domain for the peertube server. 141Replace `[peertube-domain]` with the domain for the peertube server.
142 142
143```bash 143```bash
144$ sudo sed -i 's/${WEBSERVER_HOST}/[peertube-domain]/g' /etc/nginx/sites-available/peertube 144sudo sed -i 's/${WEBSERVER_HOST}/[peertube-domain]/g' /etc/nginx/sites-available/peertube
145$ sudo sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube 145sudo sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube
146``` 146```
147 147
148Then modify the webserver configuration file. Please pay attention to the `alias` keys of the static locations. 148Then modify the webserver configuration file. Please pay attention to the `alias` keys of the static locations.
149It should correspond to the paths of your storage directories (set in the configuration file inside the `storage` key). 149It should correspond to the paths of your storage directories (set in the configuration file inside the `storage` key).
150 150
151```bash 151```bash
152$ sudo vim /etc/nginx/sites-available/peertube 152sudo vim /etc/nginx/sites-available/peertube
153``` 153```
154 154
155Activate the configuration file: 155Activate the configuration file:
156 156
157```bash 157```bash
158$ sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube 158sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube
159``` 159```
160 160
161To generate the certificate for your domain as required to make https work you can use [Let's Encrypt](https://letsencrypt.org/): 161To generate the certificate for your domain as required to make https work you can use [Let's Encrypt](https://letsencrypt.org/):
162 162
163```bash 163```bash
164$ sudo systemctl stop nginx 164sudo systemctl stop nginx
165$ sudo certbot certonly --standalone --post-hook "systemctl restart nginx" 165sudo certbot certonly --standalone --post-hook "systemctl restart nginx"
166$ sudo systemctl reload nginx 166sudo systemctl reload nginx
167``` 167```
168 168
169Certbot should have installed a cron to automatically renew your certificate. 169Certbot should have installed a cron to automatically renew your certificate.
170Since our nginx template supports webroot renewal, we suggest you to update the renewal config file to use the `webroot` authenticator: 170Since our nginx template supports webroot renewal, we suggest you to update the renewal config file to use the `webroot` authenticator:
171 171
172```bash 172```bash
173$ # Replace authenticator = standalone by authenticator = webroot 173# Replace authenticator = standalone by authenticator = webroot
174$ # Add webroot_path = /var/www/certbot 174# Add webroot_path = /var/www/certbot
175$ sudo vim /etc/letsencrypt/renewal/your-domain.com.conf 175sudo vim /etc/letsencrypt/renewal/your-domain.com.conf
176``` 176```
177 177
178If you plan to have many concurrent viewers on your PeerTube instance, consider increasing `worker_connections` value: https://nginx.org/en/docs/ngx_core_module.html#worker_connections. 178If you plan to have many concurrent viewers on your PeerTube instance, consider increasing `worker_connections` value: https://nginx.org/en/docs/ngx_core_module.html#worker_connections.
@@ -183,15 +183,15 @@ If you plan to have many concurrent viewers on your PeerTube instance, consider
183On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/) 183On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/)
184 184
185```bash 185```bash
186$ sudo pkg install dehydrated 186sudo pkg install dehydrated
187``` 187```
188</details> 188</details>
189 189
190### :alembic: Linux TCP/IP Tuning 190### :alembic: Linux TCP/IP Tuning
191 191
192```bash 192```bash
193$ sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/ 193sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/
194$ sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf 194sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf
195``` 195```
196 196
197Your distro may enable this by default, but at least Debian 9 does not, and the default FIFO 197Your distro may enable this by default, but at least Debian 9 does not, and the default FIFO
@@ -203,33 +203,33 @@ links as we often encounter in a video server.
203If your OS uses systemd, copy the configuration template: 203If your OS uses systemd, copy the configuration template:
204 204
205```bash 205```bash
206$ sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/ 206sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
207``` 207```
208 208
209Check the service file (PeerTube paths and security directives): 209Check the service file (PeerTube paths and security directives):
210 210
211```bash 211```bash
212$ sudo vim /etc/systemd/system/peertube.service 212sudo vim /etc/systemd/system/peertube.service
213``` 213```
214 214
215 215
216Tell systemd to reload its config: 216Tell systemd to reload its config:
217 217
218```bash 218```bash
219$ sudo systemctl daemon-reload 219sudo systemctl daemon-reload
220``` 220```
221 221
222If you want to start PeerTube on boot: 222If you want to start PeerTube on boot:
223 223
224```bash 224```bash
225$ sudo systemctl enable peertube 225sudo systemctl enable peertube
226``` 226```
227 227
228Run: 228Run:
229 229
230```bash 230```bash
231$ sudo systemctl start peertube 231sudo systemctl start peertube
232$ sudo journalctl -feu peertube 232sudo journalctl -feu peertube
233``` 233```
234 234
235<details> 235<details>
@@ -238,14 +238,14 @@ $ sudo journalctl -feu peertube
238On FreeBSD, copy the startup script and update rc.conf: 238On FreeBSD, copy the startup script and update rc.conf:
239 239
240```bash 240```bash
241$ sudo install -m 0555 /var/www/peertube/peertube-latest/support/freebsd/peertube /usr/local/etc/rc.d/ 241sudo install -m 0555 /var/www/peertube/peertube-latest/support/freebsd/peertube /usr/local/etc/rc.d/
242$ sudo sysrc peertube_enable="YES" 242sudo sysrc peertube_enable="YES"
243``` 243```
244 244
245Run: 245Run:
246 246
247```bash 247```bash
248$ sudo service peertube start 248sudo service peertube start
249``` 249```
250</details> 250</details>
251 251
@@ -255,20 +255,20 @@ $ sudo service peertube start
255If your OS uses OpenRC, copy the service script: 255If your OS uses OpenRC, copy the service script:
256 256
257```bash 257```bash
258$ sudo cp /var/www/peertube/peertube-latest/support/init.d/peertube /etc/init.d/ 258sudo cp /var/www/peertube/peertube-latest/support/init.d/peertube /etc/init.d/
259``` 259```
260 260
261If you want to start PeerTube on boot: 261If you want to start PeerTube on boot:
262 262
263```bash 263```bash
264$ sudo rc-update add peertube default 264sudo rc-update add peertube default
265``` 265```
266 266
267Run and print last logs: 267Run and print last logs:
268 268
269```bash 269```bash
270$ sudo /etc/init.d/peertube start 270sudo /etc/init.d/peertube start
271$ tail -f /var/log/peertube/peertube.log 271tail -f /var/log/peertube/peertube.log
272``` 272```
273</details> 273</details>
274 274
@@ -278,7 +278,7 @@ The administrator username is `root` and the password is automatically generated
278logs (path defined in `production.yaml`). You can also set another password with: 278logs (path defined in `production.yaml`). You can also set another password with:
279 279
280```bash 280```bash
281$ cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root 281cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root
282``` 282```
283 283
284Alternatively you can set the environment variable `PT_INITIAL_ROOT_PASSWORD`, 284Alternatively you can set the environment variable `PT_INITIAL_ROOT_PASSWORD`,
@@ -300,8 +300,8 @@ Now your instance is up you can:
300Run the upgrade script (the password it asks is PeerTube's database user password): 300Run the upgrade script (the password it asks is PeerTube's database user password):
301 301
302```bash 302```bash
303$ cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh 303cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh
304$ sudo systemctl restart peertube # Or use your OS command to restart PeerTube if you don't use systemd 304sudo systemctl restart peertube # Or use your OS command to restart PeerTube if you don't use systemd
305``` 305```
306 306
307<details> 307<details>
@@ -310,7 +310,7 @@ $ sudo systemctl restart peertube # Or use your OS command to restart PeerTube i
310Make a SQL backup 310Make a SQL backup
311 311
312```bash 312```bash
313$ SQL_BACKUP_PATH="backup/sql-peertube_prod-$(date -Im).bak" && \ 313SQL_BACKUP_PATH="backup/sql-peertube_prod-$(date -Im).bak" && \
314 cd /var/www/peertube && sudo -u peertube mkdir -p backup && \ 314 cd /var/www/peertube && sudo -u peertube mkdir -p backup && \
315 sudo -u postgres pg_dump -F c peertube_prod | sudo -u peertube tee "$SQL_BACKUP_PATH" >/dev/null 315 sudo -u postgres pg_dump -F c peertube_prod | sudo -u peertube tee "$SQL_BACKUP_PATH" >/dev/null
316``` 316```
@@ -318,13 +318,13 @@ $ SQL_BACKUP_PATH="backup/sql-peertube_prod-$(date -Im).bak" && \
318Fetch the latest tagged version of Peertube: 318Fetch the latest tagged version of Peertube:
319 319
320```bash 320```bash
321$ VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION" 321VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION"
322``` 322```
323 323
324Download the new version and unzip it: 324Download the new version and unzip it:
325 325
326```bash 326```bash
327$ cd /var/www/peertube/versions && \ 327cd /var/www/peertube/versions && \
328 sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" && \ 328 sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" && \
329 sudo -u peertube unzip -o peertube-${VERSION}.zip && \ 329 sudo -u peertube unzip -o peertube-${VERSION}.zip && \
330 sudo -u peertube rm peertube-${VERSION}.zip 330 sudo -u peertube rm peertube-${VERSION}.zip
@@ -333,21 +333,21 @@ $ cd /var/www/peertube/versions && \
333Install node dependencies: 333Install node dependencies:
334 334
335```bash 335```bash
336$ cd /var/www/peertube/versions/peertube-${VERSION} && \ 336cd /var/www/peertube/versions/peertube-${VERSION} && \
337 sudo -H -u peertube yarn install --production --pure-lockfile 337 sudo -H -u peertube yarn install --production --pure-lockfile
338``` 338```
339 339
340Copy new configuration defaults values and update your configuration file: 340Copy new configuration defaults values and update your configuration file:
341 341
342```bash 342```bash
343$ sudo -u peertube cp /var/www/peertube/versions/peertube-${VERSION}/config/default.yaml /var/www/peertube/config/default.yaml 343sudo -u peertube cp /var/www/peertube/versions/peertube-${VERSION}/config/default.yaml /var/www/peertube/config/default.yaml
344$ diff -u /var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example /var/www/peertube/config/production.yaml 344diff -u /var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example /var/www/peertube/config/production.yaml
345``` 345```
346 346
347Change the link to point to the latest version: 347Change the link to point to the latest version:
348 348
349```bash 349```bash
350$ cd /var/www/peertube && \ 350cd /var/www/peertube && \
351 sudo unlink ./peertube-latest && \ 351 sudo unlink ./peertube-latest && \
352 sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest 352 sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
353``` 353```
@@ -358,8 +358,8 @@ $ cd /var/www/peertube && \
358Check for configuration changes, and report them in your `config/production.yaml` file: 358Check for configuration changes, and report them in your `config/production.yaml` file:
359 359
360```bash 360```bash
361$ cd /var/www/peertube/versions 361cd /var/www/peertube/versions
362$ diff -u "$(ls --sort=t | head -2 | tail -1)/config/production.yaml.example" "$(ls --sort=t | head -1)/config/production.yaml.example" 362diff -u "$(ls --sort=t | head -2 | tail -1)/config/production.yaml.example" "$(ls --sort=t | head -1)/config/production.yaml.example"
363``` 363```
364 364
365### Update nginx configuration 365### Update nginx configuration
@@ -367,8 +367,8 @@ $ diff -u "$(ls --sort=t | head -2 | tail -1)/config/production.yaml.example" "$
367Check changes in nginx configuration: 367Check changes in nginx configuration:
368 368
369```bash 369```bash
370$ cd /var/www/peertube/versions 370cd /var/www/peertube/versions
371$ diff -u "$(ls --sort=t | head -2 | tail -1)/support/nginx/peertube" "$(ls --sort=t | head -1)/support/nginx/peertube" 371diff -u "$(ls --sort=t | head -2 | tail -1)/support/nginx/peertube" "$(ls --sort=t | head -1)/support/nginx/peertube"
372``` 372```
373 373
374### Update systemd service 374### Update systemd service
@@ -376,8 +376,8 @@ $ diff -u "$(ls --sort=t | head -2 | tail -1)/support/nginx/peertube" "$(ls --so
376Check changes in systemd configuration: 376Check changes in systemd configuration:
377 377
378```bash 378```bash
379$ cd /var/www/peertube/versions 379cd /var/www/peertube/versions
380$ diff -u "$(ls --sort=t | head -2 | tail -1)/support/systemd/peertube.service" "$(ls --sort=t | head -1)/support/systemd/peertube.service" 380diff -u "$(ls --sort=t | head -2 | tail -1)/support/systemd/peertube.service" "$(ls --sort=t | head -1)/support/systemd/peertube.service"
381``` 381```
382 382
383### Restart PeerTube 383### Restart PeerTube
@@ -385,19 +385,19 @@ $ diff -u "$(ls --sort=t | head -2 | tail -1)/support/systemd/peertube.service"
385If you changed your nginx configuration: 385If you changed your nginx configuration:
386 386
387```bash 387```bash
388$ sudo systemctl reload nginx 388sudo systemctl reload nginx
389``` 389```
390 390
391If you changed your systemd configuration: 391If you changed your systemd configuration:
392 392
393```bash 393```bash
394$ sudo systemctl daemon-reload 394sudo systemctl daemon-reload
395``` 395```
396 396
397Restart PeerTube and check the logs: 397Restart PeerTube and check the logs:
398 398
399```bash 399```bash
400$ sudo systemctl restart peertube && sudo journalctl -fu peertube 400sudo systemctl restart peertube && sudo journalctl -fu peertube
401``` 401```
402 402
403### Things went wrong? 403### Things went wrong?
@@ -405,9 +405,9 @@ $ sudo systemctl restart peertube && sudo journalctl -fu peertube
405Change `peertube-latest` destination to the previous version and restore your SQL backup: 405Change `peertube-latest` destination to the previous version and restore your SQL backup:
406 406
407```bash 407```bash
408$ OLD_VERSION="v0.42.42" && SQL_BACKUP_PATH="backup/sql-peertube_prod-2018-01-19T10:18+01:00.bak" && \ 408OLD_VERSION="v0.42.42" && SQL_BACKUP_PATH="backup/sql-peertube_prod-2018-01-19T10:18+01:00.bak" && \
409 cd /var/www/peertube && sudo -u peertube unlink ./peertube-latest && \ 409 cd /var/www/peertube && sudo -u peertube unlink ./peertube-latest && \
410 sudo -u peertube ln -s "versions/peertube-$OLD_VERSION" peertube-latest && \ 410 sudo -u peertube ln -s "versions/peertube-$OLD_VERSION" peertube-latest && \
411 sudo -u postgres pg_restore -c -C -d postgres "$SQL_BACKUP_PATH" && \ 411 sudo -u postgres pg_restore -c -C -d postgres "$SQL_BACKUP_PATH" && \
412 sudo systemctl restart peertube 412 sudo systemctl restart peertube
413``` 413```