diff options
Diffstat (limited to 'support/doc')
-rw-r--r-- | support/doc/api/openapi.yaml | 297 | ||||
-rw-r--r-- | support/doc/dependencies.md | 2 | ||||
-rw-r--r-- | support/doc/docker.md | 2 | ||||
-rw-r--r-- | support/doc/plugins/guide.md | 22 | ||||
-rw-r--r-- | support/doc/production.md | 34 |
5 files changed, 321 insertions, 36 deletions
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index bfa7235a2..f90b7f575 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml | |||
@@ -1,7 +1,7 @@ | |||
1 | openapi: 3.0.0 | 1 | openapi: 3.0.0 |
2 | info: | 2 | info: |
3 | title: PeerTube | 3 | title: PeerTube |
4 | version: 4.0.0 | 4 | version: 5.1.0 |
5 | contact: | 5 | contact: |
6 | name: PeerTube Community | 6 | name: PeerTube Community |
7 | url: https://joinpeertube.org | 7 | url: https://joinpeertube.org |
@@ -1401,22 +1401,44 @@ paths: | |||
1401 | '200': | 1401 | '200': |
1402 | description: successful operation | 1402 | description: successful operation |
1403 | 1403 | ||
1404 | /api/v1/users/register: | 1404 | /api/v1/users/ask-send-verify-email: |
1405 | post: | 1405 | post: |
1406 | summary: Register a user | 1406 | summary: Resend user verification link |
1407 | operationId: registerUser | 1407 | operationId: resendEmailToVerifyUser |
1408 | tags: | 1408 | tags: |
1409 | - Users | 1409 | - Users |
1410 | - Register | 1410 | - Register |
1411 | requestBody: | ||
1412 | content: | ||
1413 | application/json: | ||
1414 | schema: | ||
1415 | type: object | ||
1416 | properties: | ||
1417 | email: | ||
1418 | type: string | ||
1419 | description: User email | ||
1411 | responses: | 1420 | responses: |
1412 | '204': | 1421 | '204': |
1413 | description: successful operation | 1422 | description: successful operation |
1423 | |||
1424 | /api/v1/users/registrations/ask-send-verify-email: | ||
1425 | post: | ||
1426 | summary: Resend verification link to registration email | ||
1427 | operationId: resendEmailToVerifyRegistration | ||
1428 | tags: | ||
1429 | - Register | ||
1414 | requestBody: | 1430 | requestBody: |
1415 | content: | 1431 | content: |
1416 | application/json: | 1432 | application/json: |
1417 | schema: | 1433 | schema: |
1418 | $ref: '#/components/schemas/RegisterUser' | 1434 | type: object |
1419 | required: true | 1435 | properties: |
1436 | email: | ||
1437 | type: string | ||
1438 | description: Registration email | ||
1439 | responses: | ||
1440 | '204': | ||
1441 | description: successful operation | ||
1420 | 1442 | ||
1421 | /api/v1/users/{id}/verify-email: | 1443 | /api/v1/users/{id}/verify-email: |
1422 | post: | 1444 | post: |
@@ -1425,6 +1447,7 @@ paths: | |||
1425 | description: | | 1447 | description: | |
1426 | Following a user registration, the new user will receive an email asking to click a link | 1448 | Following a user registration, the new user will receive an email asking to click a link |
1427 | containing a secret. | 1449 | containing a secret. |
1450 | This endpoint can also be used to verify a new email set in the user account. | ||
1428 | tags: | 1451 | tags: |
1429 | - Users | 1452 | - Users |
1430 | - Register | 1453 | - Register |
@@ -1451,6 +1474,36 @@ paths: | |||
1451 | '404': | 1474 | '404': |
1452 | description: user not found | 1475 | description: user not found |
1453 | 1476 | ||
1477 | /api/v1/users/registrations/{registrationId}/verify-email: | ||
1478 | post: | ||
1479 | summary: Verify a registration email | ||
1480 | operationId: verifyRegistrationEmail | ||
1481 | description: | | ||
1482 | Following a user registration request, the user will receive an email asking to click a link | ||
1483 | containing a secret. | ||
1484 | tags: | ||
1485 | - Register | ||
1486 | parameters: | ||
1487 | - $ref: '#/components/parameters/registrationId' | ||
1488 | requestBody: | ||
1489 | content: | ||
1490 | application/json: | ||
1491 | schema: | ||
1492 | type: object | ||
1493 | properties: | ||
1494 | verificationString: | ||
1495 | type: string | ||
1496 | format: url | ||
1497 | required: | ||
1498 | - verificationString | ||
1499 | responses: | ||
1500 | '204': | ||
1501 | description: successful operation | ||
1502 | '403': | ||
1503 | description: invalid verification string | ||
1504 | '404': | ||
1505 | description: registration not found | ||
1506 | |||
1454 | /api/v1/users/{id}/two-factor/request: | 1507 | /api/v1/users/{id}/two-factor/request: |
1455 | post: | 1508 | post: |
1456 | summary: Request two factor auth | 1509 | summary: Request two factor auth |
@@ -1541,18 +1594,6 @@ paths: | |||
1541 | '404': | 1594 | '404': |
1542 | description: user not found | 1595 | description: user not found |
1543 | 1596 | ||
1544 | |||
1545 | /api/v1/users/ask-send-verify-email: | ||
1546 | post: | ||
1547 | summary: Resend user verification link | ||
1548 | operationId: resendEmailToVerifyUser | ||
1549 | tags: | ||
1550 | - Users | ||
1551 | - Register | ||
1552 | responses: | ||
1553 | '204': | ||
1554 | description: successful operation | ||
1555 | |||
1556 | /api/v1/users/me: | 1597 | /api/v1/users/me: |
1557 | get: | 1598 | get: |
1558 | summary: Get my user information | 1599 | summary: Get my user information |
@@ -2037,6 +2078,146 @@ paths: | |||
2037 | '204': | 2078 | '204': |
2038 | description: successful operation | 2079 | description: successful operation |
2039 | 2080 | ||
2081 | /api/v1/users/register: | ||
2082 | post: | ||
2083 | summary: Register a user | ||
2084 | operationId: registerUser | ||
2085 | description: Signup has to be enabled and signup approval is not required | ||
2086 | tags: | ||
2087 | - Register | ||
2088 | responses: | ||
2089 | '204': | ||
2090 | description: successful operation | ||
2091 | '400': | ||
2092 | description: request error | ||
2093 | '403': | ||
2094 | description: user registration is not enabled, user limit is reached, registration is not allowed for the ip, requires approval or blocked by a plugin | ||
2095 | '409': | ||
2096 | description: 'a user with this username, channel name or email already exists' | ||
2097 | requestBody: | ||
2098 | content: | ||
2099 | application/json: | ||
2100 | schema: | ||
2101 | $ref: '#/components/schemas/RegisterUser' | ||
2102 | required: true | ||
2103 | |||
2104 | /api/v1/users/registrations/request: | ||
2105 | post: | ||
2106 | summary: Request registration | ||
2107 | description: Signup has to be enabled and require approval on the instance | ||
2108 | operationId: requestRegistration | ||
2109 | tags: | ||
2110 | - Register | ||
2111 | responses: | ||
2112 | '200': | ||
2113 | description: successful operation | ||
2114 | content: | ||
2115 | application/json: | ||
2116 | schema: | ||
2117 | $ref: '#/components/schemas/UserRegistration' | ||
2118 | '400': | ||
2119 | description: request error or signup approval is not enabled on the instance | ||
2120 | '403': | ||
2121 | description: user registration is not enabled, user limit is reached, registration is not allowed for the ip or blocked by a plugin | ||
2122 | '409': | ||
2123 | description: 'a user or registration with this username, channel name or email already exists' | ||
2124 | requestBody: | ||
2125 | content: | ||
2126 | application/json: | ||
2127 | schema: | ||
2128 | $ref: '#/components/schemas/UserRegistrationRequest' | ||
2129 | |||
2130 | /api/v1/users/registrations/{registrationId}/accept: | ||
2131 | post: | ||
2132 | security: | ||
2133 | - OAuth2: | ||
2134 | - admin | ||
2135 | - moderator | ||
2136 | summary: Accept registration | ||
2137 | operationId: acceptRegistration | ||
2138 | tags: | ||
2139 | - Register | ||
2140 | parameters: | ||
2141 | - $ref: '#/components/parameters/registrationId' | ||
2142 | requestBody: | ||
2143 | content: | ||
2144 | application/json: | ||
2145 | schema: | ||
2146 | $ref: '#/components/schemas/UserRegistrationAcceptOrReject' | ||
2147 | responses: | ||
2148 | '204': | ||
2149 | description: successful operation | ||
2150 | |||
2151 | /api/v1/users/registrations/{registrationId}/reject: | ||
2152 | post: | ||
2153 | security: | ||
2154 | - OAuth2: | ||
2155 | - admin | ||
2156 | - moderator | ||
2157 | summary: Reject registration | ||
2158 | operationId: rejectRegistration | ||
2159 | tags: | ||
2160 | - Register | ||
2161 | parameters: | ||
2162 | - $ref: '#/components/parameters/registrationId' | ||
2163 | requestBody: | ||
2164 | content: | ||
2165 | application/json: | ||
2166 | schema: | ||
2167 | $ref: '#/components/schemas/UserRegistrationAcceptOrReject' | ||
2168 | responses: | ||
2169 | '204': | ||
2170 | description: successful operation | ||
2171 | |||
2172 | /api/v1/users/registrations/{registrationId}: | ||
2173 | delete: | ||
2174 | security: | ||
2175 | - OAuth2: | ||
2176 | - admin | ||
2177 | - moderator | ||
2178 | summary: Delete registration | ||
2179 | description: 'Delete the registration entry. It will not remove the user associated with this registration (if any)' | ||
2180 | operationId: deleteRegistration | ||
2181 | tags: | ||
2182 | - Register | ||
2183 | parameters: | ||
2184 | - $ref: '#/components/parameters/registrationId' | ||
2185 | responses: | ||
2186 | '204': | ||
2187 | description: successful operation | ||
2188 | |||
2189 | /api/v1/users/registrations: | ||
2190 | get: | ||
2191 | security: | ||
2192 | - OAuth2: | ||
2193 | - admin | ||
2194 | - moderator | ||
2195 | summary: List registrations | ||
2196 | operationId: listRegistrations | ||
2197 | tags: | ||
2198 | - Register | ||
2199 | parameters: | ||
2200 | - $ref: '#/components/parameters/start' | ||
2201 | - $ref: '#/components/parameters/count' | ||
2202 | - name: search | ||
2203 | in: query | ||
2204 | required: false | ||
2205 | schema: | ||
2206 | type: string | ||
2207 | - name: sort | ||
2208 | in: query | ||
2209 | required: false | ||
2210 | schema: | ||
2211 | type: string | ||
2212 | enum: | ||
2213 | - -createdAt | ||
2214 | - createdAt | ||
2215 | - state | ||
2216 | - -state | ||
2217 | responses: | ||
2218 | '204': | ||
2219 | description: successful operation | ||
2220 | |||
2040 | /api/v1/videos/ownership: | 2221 | /api/v1/videos/ownership: |
2041 | get: | 2222 | get: |
2042 | summary: List video ownership changes | 2223 | summary: List video ownership changes |
@@ -5389,6 +5570,7 @@ components: | |||
5389 | type: string | 5570 | type: string |
5390 | enum: | 5571 | enum: |
5391 | - createdAt | 5572 | - createdAt |
5573 | |||
5392 | name: | 5574 | name: |
5393 | name: name | 5575 | name: name |
5394 | in: path | 5576 | in: path |
@@ -5404,6 +5586,13 @@ components: | |||
5404 | description: Entity id | 5586 | description: Entity id |
5405 | schema: | 5587 | schema: |
5406 | $ref: '#/components/schemas/id' | 5588 | $ref: '#/components/schemas/id' |
5589 | registrationId: | ||
5590 | name: registrationId | ||
5591 | in: path | ||
5592 | required: true | ||
5593 | description: Registration ID | ||
5594 | schema: | ||
5595 | $ref: '#/components/schemas/id' | ||
5407 | idOrUUID: | 5596 | idOrUUID: |
5408 | name: id | 5597 | name: id |
5409 | in: path | 5598 | in: path |
@@ -7724,6 +7913,7 @@ components: | |||
7724 | required: | 7913 | required: |
7725 | - video | 7914 | - video |
7726 | - rating | 7915 | - rating |
7916 | |||
7727 | RegisterUser: | 7917 | RegisterUser: |
7728 | properties: | 7918 | properties: |
7729 | username: | 7919 | username: |
@@ -7754,6 +7944,77 @@ components: | |||
7754 | - password | 7944 | - password |
7755 | 7945 | ||
7756 | 7946 | ||
7947 | UserRegistrationRequest: | ||
7948 | allOf: | ||
7949 | - $ref: '#/components/schemas/RegisterUser' | ||
7950 | - type: object | ||
7951 | properties: | ||
7952 | registrationReason: | ||
7953 | type: string | ||
7954 | description: reason for the user to register on the instance | ||
7955 | required: | ||
7956 | - registrationReason | ||
7957 | |||
7958 | UserRegistrationAcceptOrReject: | ||
7959 | type: object | ||
7960 | properties: | ||
7961 | moderationResponse: | ||
7962 | type: string | ||
7963 | description: Moderation response to send to the user | ||
7964 | preventEmailDelivery: | ||
7965 | type: boolean | ||
7966 | description: Set it to true if you don't want PeerTube to send an email to the user | ||
7967 | required: | ||
7968 | - moderationResponse | ||
7969 | |||
7970 | UserRegistration: | ||
7971 | properties: | ||
7972 | id: | ||
7973 | $ref: '#/components/schemas/id' | ||
7974 | state: | ||
7975 | type: object | ||
7976 | properties: | ||
7977 | id: | ||
7978 | type: integer | ||
7979 | enum: | ||
7980 | - 1 | ||
7981 | - 2 | ||
7982 | - 3 | ||
7983 | description: 'The registration state (Pending = `1`, Rejected = `2`, Accepted = `3`)' | ||
7984 | label: | ||
7985 | type: string | ||
7986 | registrationReason: | ||
7987 | type: string | ||
7988 | moderationResponse: | ||
7989 | type: string | ||
7990 | nullable: true | ||
7991 | username: | ||
7992 | type: string | ||
7993 | email: | ||
7994 | type: string | ||
7995 | format: email | ||
7996 | emailVerified: | ||
7997 | type: boolean | ||
7998 | accountDisplayName: | ||
7999 | type: string | ||
8000 | channelHandle: | ||
8001 | type: string | ||
8002 | channelDisplayName: | ||
8003 | type: string | ||
8004 | createdAt: | ||
8005 | type: string | ||
8006 | format: date-time | ||
8007 | updatedAt: | ||
8008 | type: string | ||
8009 | format: date-time | ||
8010 | user: | ||
8011 | type: object | ||
8012 | nullable: true | ||
8013 | description: If the registration has been accepted, this is a partial user object created by the registration | ||
8014 | properties: | ||
8015 | id: | ||
8016 | $ref: '#/components/schemas/id' | ||
8017 | |||
7757 | OAuthClient: | 8018 | OAuthClient: |
7758 | properties: | 8019 | properties: |
7759 | client_id: | 8020 | client_id: |
diff --git a/support/doc/dependencies.md b/support/doc/dependencies.md index bf53b8080..5cf1d5879 100644 --- a/support/doc/dependencies.md +++ b/support/doc/dependencies.md | |||
@@ -2,8 +2,6 @@ | |||
2 | 2 | ||
3 | :warning: **Warning**: dependencies guide is maintained by the community. Some parts may be outdated! :warning: | 3 | :warning: **Warning**: dependencies guide is maintained by the community. Some parts may be outdated! :warning: |
4 | 4 | ||
5 | Follow the below guides, and check their versions match [required external dependencies versions](https://github.com/Chocobozzz/PeerTube/blob/master/engines.yaml). | ||
6 | |||
7 | Main dependencies version supported by PeerTube: | 5 | Main dependencies version supported by PeerTube: |
8 | 6 | ||
9 | * `node` >=14.x | 7 | * `node` >=14.x |
diff --git a/support/doc/docker.md b/support/doc/docker.md index 267863a4d..b6990f3e3 100644 --- a/support/doc/docker.md +++ b/support/doc/docker.md | |||
@@ -120,7 +120,7 @@ See the production guide ["What now" section](https://docs.joinpeertube.org/inst | |||
120 | 120 | ||
121 | ## Upgrade | 121 | ## Upgrade |
122 | 122 | ||
123 | **Important:** Before upgrading, check you have all the `storage` fields in your [production.yaml file](https://github.com/Chocobozzz/PeerTube/blob/master/support/docker/production/config/production.yaml). | 123 | **Check the changelog (in particular the *IMPORTANT NOTES* section):** https://github.com/Chocobozzz/PeerTube/blob/develop/CHANGELOG.md |
124 | 124 | ||
125 | Pull the latest images: | 125 | Pull the latest images: |
126 | 126 | ||
diff --git a/support/doc/plugins/guide.md b/support/doc/plugins/guide.md index a1131ced5..9ddab3ece 100644 --- a/support/doc/plugins/guide.md +++ b/support/doc/plugins/guide.md | |||
@@ -433,7 +433,27 @@ function register (...) { | |||
433 | username: 'user' | 433 | username: 'user' |
434 | email: 'user@example.com' | 434 | email: 'user@example.com' |
435 | role: 2 | 435 | role: 2 |
436 | displayName: 'User display name' | 436 | displayName: 'User display name', |
437 | |||
438 | // Custom admin flags (bypass video auto moderation etc.) | ||
439 | // https://github.com/Chocobozzz/PeerTube/blob/develop/shared/models/users/user-flag.model.ts | ||
440 | // PeerTube >= 5.1 | ||
441 | adminFlags: 0, | ||
442 | // Quota in bytes | ||
443 | // PeerTube >= 5.1 | ||
444 | videoQuota: 1024 * 1024 * 1024, // 1GB | ||
445 | // PeerTube >= 5.1 | ||
446 | videoQuotaDaily: -1, // Unlimited | ||
447 | |||
448 | // Update the user profile if it already exists | ||
449 | // Default behaviour is no update | ||
450 | // Introduced in PeerTube >= 5.1 | ||
451 | userUpdater: ({ fieldName, currentValue, newValue }) => { | ||
452 | // Always use new value except for videoQuotaDaily field | ||
453 | if (fieldName === 'videoQuotaDaily') return currentValue | ||
454 | |||
455 | return newValue | ||
456 | } | ||
437 | }) | 457 | }) |
438 | }) | 458 | }) |
439 | 459 | ||
diff --git a/support/doc/production.md b/support/doc/production.md index dd57e9120..9a84f19a3 100644 --- a/support/doc/production.md +++ b/support/doc/production.md | |||
@@ -177,16 +177,17 @@ $ sudo vim /etc/letsencrypt/renewal/your-domain.com.conf | |||
177 | 177 | ||
178 | If 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. | 178 | If 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. |
179 | 179 | ||
180 | **FreeBSD** | 180 | <details> |
181 | <summary><strong>If using FreeBSD</strong></summary> | ||
182 | |||
181 | On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/) | 183 | On FreeBSD you can use [Dehydrated](https://dehydrated.io/) `security/dehydrated` for [Let's Encrypt](https://letsencrypt.org/) |
182 | 184 | ||
183 | ```bash | 185 | ```bash |
184 | $ sudo pkg install dehydrated | 186 | $ sudo pkg install dehydrated |
185 | ``` | 187 | ``` |
188 | </details> | ||
186 | 189 | ||
187 | ### :alembic: TCP/IP Tuning | 190 | ### :alembic: Linux TCP/IP Tuning |
188 | |||
189 | **On Linux** | ||
190 | 191 | ||
191 | ```bash | 192 | ```bash |
192 | $ sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/ | 193 | $ sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/ |
@@ -231,7 +232,9 @@ $ sudo systemctl start peertube | |||
231 | $ sudo journalctl -feu peertube | 232 | $ sudo journalctl -feu peertube |
232 | ``` | 233 | ``` |
233 | 234 | ||
234 | **FreeBSD** | 235 | <details> |
236 | <summary><strong>If using FreeBSD</strong></summary> | ||
237 | |||
235 | On FreeBSD, copy the startup script and update rc.conf: | 238 | On FreeBSD, copy the startup script and update rc.conf: |
236 | 239 | ||
237 | ```bash | 240 | ```bash |
@@ -244,8 +247,10 @@ Run: | |||
244 | ```bash | 247 | ```bash |
245 | $ sudo service peertube start | 248 | $ sudo service peertube start |
246 | ``` | 249 | ``` |
250 | </details> | ||
247 | 251 | ||
248 | ### :bricks: OpenRC | 252 | <details> |
253 | <summary><strong>If using OpenRC</strong></summary> | ||
249 | 254 | ||
250 | If your OS uses OpenRC, copy the service script: | 255 | If your OS uses OpenRC, copy the service script: |
251 | 256 | ||
@@ -265,6 +270,7 @@ Run and print last logs: | |||
265 | $ sudo /etc/init.d/peertube start | 270 | $ sudo /etc/init.d/peertube start |
266 | $ tail -f /var/log/peertube/peertube.log | 271 | $ tail -f /var/log/peertube/peertube.log |
267 | ``` | 272 | ``` |
273 | </details> | ||
268 | 274 | ||
269 | ### :technologist: Administrator | 275 | ### :technologist: Administrator |
270 | 276 | ||
@@ -291,16 +297,15 @@ Now your instance is up you can: | |||
291 | 297 | ||
292 | **Check the changelog (in particular the *IMPORTANT NOTES* section):** https://github.com/Chocobozzz/PeerTube/blob/develop/CHANGELOG.md | 298 | **Check the changelog (in particular the *IMPORTANT NOTES* section):** https://github.com/Chocobozzz/PeerTube/blob/develop/CHANGELOG.md |
293 | 299 | ||
294 | #### Auto | 300 | Run the upgrade script (the password it asks is PeerTube's database user password): |
295 | |||
296 | The password it asks is PeerTube's database user password. | ||
297 | 301 | ||
298 | ```bash | 302 | ```bash |
299 | $ cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh | 303 | $ cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh |
300 | $ sudo systemctl restart peertube # Or use your OS command to restart PeerTube if you don't use systemd | 304 | $ sudo systemctl restart peertube # Or use your OS command to restart PeerTube if you don't use systemd |
301 | ``` | 305 | ``` |
302 | 306 | ||
303 | #### Manually | 307 | <details> |
308 | <summary><strong>Prefer manual upgrade?</strong></summary> | ||
304 | 309 | ||
305 | Make a SQL backup | 310 | Make a SQL backup |
306 | 311 | ||
@@ -346,17 +351,18 @@ $ cd /var/www/peertube && \ | |||
346 | sudo unlink ./peertube-latest && \ | 351 | sudo unlink ./peertube-latest && \ |
347 | sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest | 352 | sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest |
348 | ``` | 353 | ``` |
354 | </details> | ||
349 | 355 | ||
350 | ### Configuration | 356 | ### Update PeerTube configuration |
351 | 357 | ||
352 | You can check for configuration changes, and report them in your `config/production.yaml` file: | 358 | Check for configuration changes, and report them in your `config/production.yaml` file: |
353 | 359 | ||
354 | ```bash | 360 | ```bash |
355 | $ cd /var/www/peertube/versions | 361 | $ cd /var/www/peertube/versions |
356 | $ diff -u "$(ls --sort=t | head -2 | tail -1)/config/production.yaml.example" "$(ls --sort=t | head -1)/config/production.yaml.example" | 362 | $ diff -u "$(ls --sort=t | head -2 | tail -1)/config/production.yaml.example" "$(ls --sort=t | head -1)/config/production.yaml.example" |
357 | ``` | 363 | ``` |
358 | 364 | ||
359 | ### nginx | 365 | ### Update nginx configuration |
360 | 366 | ||
361 | Check changes in nginx configuration: | 367 | Check changes in nginx configuration: |
362 | 368 | ||
@@ -365,7 +371,7 @@ $ cd /var/www/peertube/versions | |||
365 | $ diff -u "$(ls --sort=t | head -2 | tail -1)/support/nginx/peertube" "$(ls --sort=t | head -1)/support/nginx/peertube" | 371 | $ diff -u "$(ls --sort=t | head -2 | tail -1)/support/nginx/peertube" "$(ls --sort=t | head -1)/support/nginx/peertube" |
366 | ``` | 372 | ``` |
367 | 373 | ||
368 | ### systemd | 374 | ### Update systemd service |
369 | 375 | ||
370 | Check changes in systemd configuration: | 376 | Check changes in systemd configuration: |
371 | 377 | ||