aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.github/CONTRIBUTING.md10
-rw-r--r--.github/ISSUE_TEMPLATE/10-installation-issue.yml4
-rw-r--r--.github/ISSUE_TEMPLATE/20-documentation-issue.yml2
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md2
-rw-r--r--CHANGELOG.md102
-rw-r--r--README.md16
-rw-r--r--client/src/app/+about/about-peertube/about-peertube.component.html6
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4
-rw-r--r--client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html2
-rw-r--r--client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html2
-rw-r--r--client/src/app/+signup/shared/signup-success-after-email.component.html2
-rw-r--r--client/src/app/+signup/shared/signup-success-before-email.component.html2
-rw-r--r--client/src/app/menu/menu.component.html2
-rw-r--r--client/src/app/modal/admin-welcome-modal.component.html12
-rw-r--r--client/src/app/shared/shared-custom-markup/custom-markup-help.component.html2
-rw-r--r--client/src/app/shared/shared-video-live/live-documentation-link.component.html2
-rw-r--r--client/src/standalone/player/README.md2
-rw-r--r--config/default.yaml8
-rw-r--r--config/production.yaml.example8
-rw-r--r--packages/types/README.md2
-rw-r--r--server/middlewares/doc.ts2
-rw-r--r--server/middlewares/error.ts2
-rw-r--r--server/tests/api/check-params/videos.ts10
-rw-r--r--server/tests/api/server/follow-constraints.ts2
-rw-r--r--server/tools/README.md2
-rw-r--r--support/doc/api/openapi.yaml22
-rw-r--r--support/doc/docker.md4
-rw-r--r--support/doc/plugins/guide.md8
-rw-r--r--support/doc/production.md2
-rw-r--r--support/openapi/go/README.mustache2
-rw-r--r--support/openapi/python/README.mustache2
31 files changed, 125 insertions, 125 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index e635969ad..fe00d172c 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -138,7 +138,7 @@ You can get a complete PeerTube development setup with Gitpod, a free one-click
138 138
139### Server side 139### Server side
140 140
141You can find a documentation of the server code/architecture [here](https://docs.joinpeertube.org/contribute-architecture?id=server-code). 141You can find a documentation of the server code/architecture [here](https://docs.joinpeertube.org/contribute/architecture?id=server-code).
142 142
143To develop on the server-side: 143To develop on the server-side:
144 144
@@ -153,7 +153,7 @@ restart.
153### Client side 153### Client side
154 154
155You can find a documentation of the client code/architecture 155You can find a documentation of the client code/architecture
156[here](https://docs.joinpeertube.org/contribute-architecture?id=client-code). 156[here](https://docs.joinpeertube.org/contribute/architecture?id=client-code).
157 157
158 158
159To develop on the client side: 159To develop on the client side:
@@ -242,7 +242,7 @@ To test emails with PeerTube:
242 242
243### OpenAPI documentation 243### OpenAPI documentation
244 244
245The [REST API documentation](https://docs.joinpeertube.org/api-rest-reference.html) is generated from `support/doc/api/openapi.yaml` file. 245The [REST API documentation](https://docs.joinpeertube.org/api/rest-reference.html) is generated from `support/doc/api/openapi.yaml` file.
246To quickly get a preview of your changes, you can generate the documentation *on the fly* using the following command: 246To quickly get a preview of your changes, you can generate the documentation *on the fly* using the following command:
247 247
248``` 248```
@@ -252,7 +252,7 @@ npx @redocly/cli preview-docs ./support/doc/api/openapi.yaml
252### Environment variables 252### Environment variables
253 253
254PeerTube can be configured using environment variables. 254PeerTube can be configured using environment variables.
255See the list on https://docs.joinpeertube.org/maintain-configuration?id=environment-variables 255See the list on https://docs.joinpeertube.org/maintain/configuration?id=environment-variables
256 256
257Additionally to these ones, we provide some environment for dev/test purpose: 257Additionally to these ones, we provide some environment for dev/test purpose:
258 258
@@ -298,4 +298,4 @@ ffmpeg -stream_loop -1 -re -i any-video.mp4 -c copy -f flv rtmp://{RTMP URL}/liv
298 298
299## Plugins & Themes 299## Plugins & Themes
300 300
301See the dedicated documentation: https://docs.joinpeertube.org/contribute-plugins 301See the dedicated documentation: https://docs.joinpeertube.org/contribute/plugins
diff --git a/.github/ISSUE_TEMPLATE/10-installation-issue.yml b/.github/ISSUE_TEMPLATE/10-installation-issue.yml
index 7bc55b2bd..059135eff 100644
--- a/.github/ISSUE_TEMPLATE/10-installation-issue.yml
+++ b/.github/ISSUE_TEMPLATE/10-installation-issue.yml
@@ -5,8 +5,8 @@ body:
5 attributes: 5 attributes:
6 value: | 6 value: |
7 Please check the official documentation first: 7 Please check the official documentation first:
8 - Classic installation: https://docs.joinpeertube.org/install-any-os 8 - Classic installation: https://docs.joinpeertube.org/install/any-os
9 - Docker installation: https://docs.joinpeertube.org/install-docker 9 - Docker installation: https://docs.joinpeertube.org/install/docker
10 10
11 - type: markdown 11 - type: markdown
12 attributes: 12 attributes:
diff --git a/.github/ISSUE_TEMPLATE/20-documentation-issue.yml b/.github/ISSUE_TEMPLATE/20-documentation-issue.yml
index 354749ad5..fc0cc6b4a 100644
--- a/.github/ISSUE_TEMPLATE/20-documentation-issue.yml
+++ b/.github/ISSUE_TEMPLATE/20-documentation-issue.yml
@@ -15,4 +15,4 @@ body:
15 description: | 15 description: |
16 Are you up to submit a pull request? Chances are, only a small edit is required, so give it a try: 16 Are you up to submit a pull request? Chances are, only a small edit is required, so give it a try:
17 * Click "Edit this page" if on https://docs.joinpeertube.org 17 * Click "Edit this page" if on https://docs.joinpeertube.org
18 * Edit https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/openapi.yaml if on https://docs.joinpeertube.org/api-rest-reference.html 18 * Edit https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/openapi.yaml if on https://docs.joinpeertube.org/api/rest-reference.html
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index abc25477f..03a01ead5 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -10,7 +10,7 @@
10## Has this been tested? 10## Has this been tested?
11 11
12<!-- Put an `x` in the box that applies: --> 12<!-- Put an `x` in the box that applies: -->
13<!-- Check the unit test guide: https://docs.joinpeertube.org/contribute-getting-started?id=unit-tests --> 13<!-- Check the unit test guide: https://docs.joinpeertube.org/contribute/getting-started?id=unit-tests -->
14 14
15- [ ] 👍 yes, I added tests to the test suite 15- [ ] 👍 yes, I added tests to the test suite
16- [ ] 💭 no, because this PR is a draft and still needs work 16- [ ] 💭 no, because this PR is a draft and still needs work
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0513356e3..771c78f19 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,7 +41,7 @@
41 41
42### Documentation 42### Documentation
43 43
44 * Add [Monitoring/Observability documentation](https://docs.joinpeertube.org/maintain-observability) using PeerTube OpenTelemetry feature 44 * Add [Monitoring/Observability documentation](https://docs.joinpeertube.org/maintain/observability) using PeerTube OpenTelemetry feature
45 45
46### Maintenance 46### Maintenance
47 47
@@ -55,12 +55,12 @@
55 55
56### Plugins/Themes/Embed API 56### Plugins/Themes/Embed API
57 57
58 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 58 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
59 * `filter:activity-pub.remote-video-comment.create.accept.result` 59 * `filter:activity-pub.remote-video-comment.create.accept.result`
60 * Add server plugin helpers 60 * Add server plugin helpers
61 * `socket.sendNotification` and `socket.sendVideoLiveNewState` [#5239](https://github.com/Chocobozzz/PeerTube/pull/5239) 61 * `socket.sendNotification` and `socket.sendVideoLiveNewState` [#5239](https://github.com/Chocobozzz/PeerTube/pull/5239)
62 * Add ability for plugins to register a websocket route using `registerWebSocketRoute` 62 * Add ability for plugins to register a websocket route using `registerWebSocketRoute`
63 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 63 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
64 * `filter:internal.player.p2p-media-loader.options.result` [#5318](https://github.com/Chocobozzz/PeerTube/pull/5318) 64 * `filter:internal.player.p2p-media-loader.options.result` [#5318](https://github.com/Chocobozzz/PeerTube/pull/5318)
65 65
66### CLI tools 66### CLI tools
@@ -166,7 +166,7 @@
166 166
167 * Theme: 167 * Theme:
168 * Removed unused `--secondaryColor` CSS variable 168 * Removed unused `--secondaryColor` CSS variable
169 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 169 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
170 * `filter:api.my-library.video-playlist-elements.list.params` & `filter:api.my-library.video-playlist-elements.list.result` [#5098](https://github.com/Chocobozzz/PeerTube/pull/5098) 170 * `filter:api.my-library.video-playlist-elements.list.params` & `filter:api.my-library.video-playlist-elements.list.result` [#5098](https://github.com/Chocobozzz/PeerTube/pull/5098)
171 * `action:video-channel-create.init` 171 * `action:video-channel-create.init`
172 * `action:video-channel-update.init` & `action:video-channel-update.video-channel.loaded` 172 * `action:video-channel-update.init` & `action:video-channel-update.video-channel.loaded`
@@ -176,12 +176,12 @@
176 * `filter:share.video-embed-url.build.params` & `filter:share.video-embed-url.build.result` & `filter:share.video-playlist-embed-url.build.params` & `filter:share.video-playlist-embed-url.build.result` 176 * `filter:share.video-embed-url.build.params` & `filter:share.video-embed-url.build.result` & `filter:share.video-playlist-embed-url.build.params` & `filter:share.video-playlist-embed-url.build.result`
177 * `filter:share.video-url.build.params` & `filter:share.video-url.build.result` & `filter:share.video-playlist-url.build.params` & `filter:share.video-playlist-url.build.result` 177 * `filter:share.video-url.build.params` & `filter:share.video-url.build.result` & `filter:share.video-playlist-url.build.params` & `filter:share.video-playlist-url.build.result`
178 * `action:modal.share.shown` 178 * `action:modal.share.shown`
179 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 179 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
180 * `filter:job-queue.process.params` & `filter:job-queue.process.result` 180 * `filter:job-queue.process.params` & `filter:job-queue.process.result`
181 * `filter:transcoding.manual.resolutions-to-transcode.result` & `filter:transcoding.auto.resolutions-to-transcode.result` 181 * `filter:transcoding.manual.resolutions-to-transcode.result` & `filter:transcoding.auto.resolutions-to-transcode.result`
182 * `action:api.video-channel.created` & `action:api.video-channel.updated` & `action:api.video-channel.deleted` 182 * `action:api.video-channel.created` & `action:api.video-channel.updated` & `action:api.video-channel.deleted`
183 * `action:notifier.notification.created` 183 * `action:notifier.notification.created`
184 * Add HTML placeholder (https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements): 184 * Add HTML placeholder (https://docs.joinpeertube.org/contribute/plugins?id=html-placeholder-elements):
185 * `share-modal-playlist-settings` & `share-modal-video-settings` 185 * `share-modal-playlist-settings` & `share-modal-video-settings`
186 186
187### Features 187### Features
@@ -324,9 +324,9 @@
324 * Classic installation: `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-4.2.js` 324 * Classic installation: `cd /var/www/peertube/peertube-latest && sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production node dist/scripts/migrations/peertube-4.2.js`
325 * Docker installation: `cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-4.2.js` 325 * Docker installation: `cd /var/www/peertube-docker && docker-compose exec -u peertube peertube node dist/scripts/migrations/peertube-4.2.js`
326 * **Important** SQL migrations (in particular `0685-multiple-actor-images`) can take several minutes to complete 326 * **Important** SQL migrations (in particular `0685-multiple-actor-images`) can take several minutes to complete
327 * **Important** You must update your nginx configuration to support video web editor: https://docs.joinpeertube.org/install-any-os?id=nginx 327 * **Important** You must update your nginx configuration to support video web editor: https://docs.joinpeertube.org/install/any-os?id=nginx
328 * REST API: 328 * REST API:
329 * `PUT /api/v1/videos/{id}/watching` is deprecated, use `POST /api/v1/videos/videos/{id}/views` instead: https://docs.joinpeertube.org/api-rest-reference.html#operation/addView 329 * `PUT /api/v1/videos/{id}/watching` is deprecated, use `POST /api/v1/videos/videos/{id}/views` instead: https://docs.joinpeertube.org/api/rest-reference.html#operation/addView
330 330
331### Maintenance 331### Maintenance
332 332
@@ -348,7 +348,7 @@
348 * `filter:api.video-playlist.videos.list.params` and `filter:api.video-playlist.videos.list.result` 348 * `filter:api.video-playlist.videos.list.params` and `filter:api.video-playlist.videos.list.result`
349 * Support `getSettings()`, `isLoggedIn()` and `getAuthHeader()` client plugin helpers in embed 349 * Support `getSettings()`, `isLoggedIn()` and `getAuthHeader()` client plugin helpers in embed
350 * Player URL query parameters: 350 * Player URL query parameters:
351 * Support `controlBar=0` to hide player control bar. See [the documentation](https://docs.joinpeertube.org/api-embed-player?id=url-parameters) for more information 351 * Support `controlBar=0` to hide player control bar. See [the documentation](https://docs.joinpeertube.org/api/embed-player?id=url-parameters) for more information
352 352
353### Features 353### Features
354 354
@@ -429,8 +429,8 @@
429 429
430### Plugins/Themes/Embed API 430### Plugins/Themes/Embed API
431 431
432 * Introduce ability for plugins to create client pages: https://docs.joinpeertube.org/contribute-plugins?id=create-client-page 432 * Introduce ability for plugins to create client pages: https://docs.joinpeertube.org/contribute/plugins?id=create-client-page
433 * Plugins that register custom video fields can choose in which tab they want to display them and can report errors: https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form 433 * Plugins that register custom video fields can choose in which tab they want to display them and can report errors: https://docs.joinpeertube.org/contribute/plugins?id=add-custom-fields-to-video-form
434 * Add new client plugin id selectors 434 * Add new client plugin id selectors
435 * Add `#plugin-selector-about-instance-moderation`, `#plugin-selector-about-instance-other-information`, `#plugin-selector-about-instance-features`, `#plugin-selector-about-instance-statistics`, `#plugin-selector-about-menu-instance`, `#plugin-selector-about-menu-peertube`, `#plugin-selector-about-menu-network` in about page [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597) 435 * Add `#plugin-selector-about-instance-moderation`, `#plugin-selector-about-instance-other-information`, `#plugin-selector-about-instance-features`, `#plugin-selector-about-instance-statistics`, `#plugin-selector-about-menu-instance`, `#plugin-selector-about-menu-peertube`, `#plugin-selector-about-menu-network` in about page [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597)
436 * Add `#plugin-selector-menu-user-dropdown-language-item` in menu [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597) 436 * Add `#plugin-selector-menu-user-dropdown-language-item` in menu [#4597](https://github.com/Chocobozzz/PeerTube/pull/4597)
@@ -560,11 +560,11 @@
560 560
561### Plugins/Themes/Embed API 561### Plugins/Themes/Embed API
562 562
563*Documentation: https://docs.joinpeertube.org/api-plugins* 563*Documentation: https://docs.joinpeertube.org/api/plugins*
564 564
565 * Add client plugin hooks: 565 * Add client plugin hooks:
566 * `filter:api.video-watch.video-playlist-elements.get.params` and `filter:api.video-watch.video-playlist-elements.get.result` [#4387](https://github.com/Chocobozzz/PeerTube/pull/4387) 566 * `filter:api.video-watch.video-playlist-elements.get.params` and `filter:api.video-watch.video-playlist-elements.get.result` [#4387](https://github.com/Chocobozzz/PeerTube/pull/4387)
567 * Introduce plugin id selectors: https://docs.joinpeertube.org/contribute-plugins?id=plugin-selector-on-html-elements 567 * Introduce plugin id selectors: https://docs.joinpeertube.org/contribute/plugins?id=plugin-selector-on-html-elements
568 * Add `#plugin-selector-login-form` to login form 568 * Add `#plugin-selector-login-form` to login form
569 569
570### Docker 570### Docker
@@ -576,7 +576,7 @@
576 576
577### CLI tools 577### CLI tools
578 578
579 * Add [create-move-video-storage-jobs](https://docs.joinpeertube.org/maintain-tools?id=create-move-video-storage-jobjs) script to move local video files in object storage [#4481](https://github.com/Chocobozzz/PeerTube/pull/4481) 579 * Add [create-move-video-storage-jobs](https://docs.joinpeertube.org/maintain/tools?id=create-move-video-storage-jobjs) script to move local video files in object storage [#4481](https://github.com/Chocobozzz/PeerTube/pull/4481)
580 * Removed `peertube-repl` and `peertube-watch` scripts 580 * Removed `peertube-repl` and `peertube-watch` scripts
581 * Apply import interval only when reasonable [#4552](https://github.com/Chocobozzz/PeerTube/pull/4552) 581 * Apply import interval only when reasonable [#4552](https://github.com/Chocobozzz/PeerTube/pull/4552)
582 582
@@ -684,7 +684,7 @@
684 684
685### Plugins/Themes/Embed API 685### Plugins/Themes/Embed API
686 686
687*Documentation: https://docs.joinpeertube.org/api-plugins* 687*Documentation: https://docs.joinpeertube.org/api/plugins*
688 688
689 * Server helpers 689 * Server helpers
690 * **Deprecate** `videoLanguageManager.addLanguage` and `videoLanguageManager.deleteLanguage`: use `videoLanguageManager.addConstant` and `videoLanguageManager.deleteConstant` instead 690 * **Deprecate** `videoLanguageManager.addLanguage` and `videoLanguageManager.deleteLanguage`: use `videoLanguageManager.addConstant` and `videoLanguageManager.deleteConstant` instead
@@ -698,7 +698,7 @@
698 698
699### Custom markup API 699### Custom markup API
700 700
701*Documentation: https://docs.joinpeertube.org/api-custom-client-markup* 701*Documentation: https://docs.joinpeertube.org/api/custom-client-markup*
702 702
703 * Add ability to only display VOD or live videos in `<peertube-videos-list>` element 703 * Add ability to only display VOD or live videos in `<peertube-videos-list>` element
704 * `<peertube-container>` fills all available width. Can be changed using `data-justify-content` attribute 704 * `<peertube-container>` fills all available width. Can be changed using `data-justify-content` attribute
@@ -723,7 +723,7 @@
723 * Hide or display sensitive content 723 * Hide or display sensitive content
724 * Choose to display all videos or only local videos 724 * Choose to display all videos or only local videos
725 * :tada: **Beta:** Add support for saving video files in object storage [#4290](https://github.com/Chocobozzz/PeerTube/pull/4290) 725 * :tada: **Beta:** Add support for saving video files in object storage [#4290](https://github.com/Chocobozzz/PeerTube/pull/4290)
726 * Check the documentation: https://docs.joinpeertube.org/admin-remote-storage 726 * Check the documentation: https://docs.joinpeertube.org/admin/remote-storage
727 * :tada: Add ability for instances to follow any actor (so specific accounts and channels) 727 * :tada: Add ability for instances to follow any actor (so specific accounts and channels)
728 * Updated HLS.js (library to play HLS playlists in PeerTube player) to V1: 728 * Updated HLS.js (library to play HLS playlists in PeerTube player) to V1:
729 * Remember last bandwidth to prevent resolution change at the beginning of the video 729 * Remember last bandwidth to prevent resolution change at the beginning of the video
@@ -776,7 +776,7 @@
776### IMPORTANT NOTES 776### IMPORTANT NOTES
777 777
778 * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. v3.2.1 fixed this bug. To upgrade from v3.2.**0**: 778 * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. v3.2.1 fixed this bug. To upgrade from v3.2.**0**:
779 * You can upgrade manually https://docs.joinpeertube.org/install-any-os?id=manually 779 * You can upgrade manually https://docs.joinpeertube.org/install/any-os?id=manually
780 * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script 780 * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script
781 * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 781 * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990
782 782
@@ -794,16 +794,16 @@
794 794
795 * Add client helpers: 795 * Add client helpers:
796 * `getBaseRouterRoute()` [#4153](https://github.com/Chocobozzz/PeerTube/pull/4153) 796 * `getBaseRouterRoute()` [#4153](https://github.com/Chocobozzz/PeerTube/pull/4153)
797 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 797 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
798 * `filter:left-menu.links.create.result` to add/remove left menu links 798 * `filter:left-menu.links.create.result` to add/remove left menu links
799 * `filter:internal.player.videojs.options.result` to filter options sent to videojs player [#4126](https://github.com/Chocobozzz/PeerTube/pull/4126) 799 * `filter:internal.player.videojs.options.result` to filter options sent to videojs player [#4126](https://github.com/Chocobozzz/PeerTube/pull/4126)
800 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 800 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
801 * `action:api.video-playlist-element.created` 801 * `action:api.video-playlist-element.created`
802 802
803 803
804### Features 804### Features
805 805
806 * :tada: Add ability to create a custom homepage using HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api-custom-client-markup) [#4007](https://github.com/Chocobozzz/PeerTube/pull/4007) 806 * :tada: Add ability to create a custom homepage using HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api/custom-client-markup) [#4007](https://github.com/Chocobozzz/PeerTube/pull/4007)
807 * :tada: Add ability to search playlists in PeerTube instance and [SepiaSearch](https://sepiasearch.org/) 807 * :tada: Add ability to search playlists in PeerTube instance and [SepiaSearch](https://sepiasearch.org/)
808 * :tada: Shorter public URLs (old URLs are still supported): 808 * :tada: Shorter public URLs (old URLs are still supported):
809 * Handle short UUID (`8r4jooaQpHp8tw1E1qpSeYq` instead of `3caf7bea-5ceb-4959-81a0-b44d184e897c`) for playlists and videos 809 * Handle short UUID (`8r4jooaQpHp8tw1E1qpSeYq` instead of `3caf7bea-5ceb-4959-81a0-b44d184e897c`) for playlists and videos
@@ -811,7 +811,7 @@
811 * Use `/a/:accountName` instead of `/accounts/:accountName` and `/c/:channelName` instead of `/video-channels/:channelName` [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009) 811 * Use `/a/:accountName` instead of `/accounts/:accountName` and `/c/:channelName` instead of `/video-channels/:channelName` [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009)
812 * Provide `/@:username` page that automatically redirect to the account or channel page [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009) 812 * Provide `/@:username` page that automatically redirect to the account or channel page [#4009](https://github.com/Chocobozzz/PeerTube/pull/4009)
813 * :tada: Add RTL layout support 813 * :tada: Add RTL layout support
814 * Add ability to use HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api-custom-client-markup) in instance description 814 * Add ability to use HTML, markdown and [custom HTML tags](https://docs.joinpeertube.org/api/custom-client-markup) in instance description
815 * Default to dark theme (if available) if requested by the web browser 815 * Default to dark theme (if available) if requested by the web browser
816 * Add ability for admins to configure minimum age required in signup page [#4010](https://github.com/Chocobozzz/PeerTube/pull/4010) 816 * Add ability for admins to configure minimum age required in signup page [#4010](https://github.com/Chocobozzz/PeerTube/pull/4010)
817 * Use a dedicated URL for each tab in publish page 817 * Use a dedicated URL for each tab in publish page
@@ -861,7 +861,7 @@
861### IMPORTANT NOTES 861### IMPORTANT NOTES
862 862
863 * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. To upgrade from v3.2.0: 863 * **Important:** v3.2.0 introduced a `pg_dump` export bug in the auto upgrade script. To upgrade from v3.2.0:
864 * You can upgrade manually https://docs.joinpeertube.org/install-any-os?id=manually 864 * You can upgrade manually https://docs.joinpeertube.org/install/any-os?id=manually
865 * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script 865 * Or you can apply the changes introduced in this commit: https://github.com/Chocobozzz/PeerTube/commit/86dc0b9cc9374cba7548bb613ff43d92f90570a8 and then use the auto upgrade script
866 866
867### Bug fixes 867### Bug fixes
@@ -880,9 +880,9 @@
880 * **Important:** Drop NodeJS 10 support 880 * **Important:** Drop NodeJS 10 support
881 * PeerTube is not compatible with NodeJS 16 yet 881 * PeerTube is not compatible with NodeJS 16 yet
882 * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. 882 * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change.
883 See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information 883 See [the documentation](https://docs.joinpeertube.org/admin/configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information
884 * PeerTube client now displays bigger video thumbnails. 884 * PeerTube client now displays bigger video thumbnails.
885 To fix old thumbnails quality, run `regenerate-thumbnails` script after your PeerTube upgrade: https://docs.joinpeertube.org/maintain-tools?id=regenerate-thumbnailsjs 885 To fix old thumbnails quality, run `regenerate-thumbnails` script after your PeerTube upgrade: https://docs.joinpeertube.org/maintain/tools?id=regenerate-thumbnailsjs
886 886
887### Docker 887### Docker
888 888
@@ -903,9 +903,9 @@
903 903
904 * Theme: 904 * Theme:
905 * `--submenuColor` becomes `--submenuBackgroundColor` 905 * `--submenuColor` becomes `--submenuBackgroundColor`
906 * Support HTML placeholders for plugins. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements) for more information 906 * Support HTML placeholders for plugins. See [the documentation](https://docs.joinpeertube.org/contribute/plugins?id=html-placeholder-elements) for more information
907 * `player-next` next to the PeerTube player 907 * `player-next` next to the PeerTube player
908 * Support storing files for plugins in a dedicated directory. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=storage) for more information 908 * Support storing files for plugins in a dedicated directory. See [the documentation](https://docs.joinpeertube.org/contribute/plugins?id=storage) for more information
909 * Transcoding: 909 * Transcoding:
910 * Add `inputOptions` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) 910 * Add `inputOptions` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917)
911 * Add `scaleFilter.name` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) 911 * Add `scaleFilter.name` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917)
@@ -923,7 +923,7 @@
923 * `plugin.getBaseRouterRoute()` 923 * `plugin.getBaseRouterRoute()`
924 * `plugin.getDataDirectoryPath()` 924 * `plugin.getDataDirectoryPath()`
925 * `user.getAuthUser()` 925 * `user.getAuthUser()`
926 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 926 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
927 * `action:modal.video-download.shown` 927 * `action:modal.video-download.shown`
928 * `action:video-upload.init` 928 * `action:video-upload.init`
929 * `action:video-url-import.init` 929 * `action:video-url-import.init`
@@ -932,7 +932,7 @@
932 * `action:auth-user.logged-in` & `action:auth-user.logged-out` 932 * `action:auth-user.logged-in` & `action:auth-user.logged-out`
933 * `action:auth-user.information-loaded` 933 * `action:auth-user.information-loaded`
934 * `action:admin-plugin-settings.init` 934 * `action:admin-plugin-settings.init`
935 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 935 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
936 * `filter:api.download.video.allowed.result` & `filter:api.download.torrent.allowed.result` to forbid download 936 * `filter:api.download.video.allowed.result` & `filter:api.download.torrent.allowed.result` to forbid download
937 * `filter:html.embed.video-playlist.allowed.result` & `filter:html.embed.video.allowed.result` to forbid embed 937 * `filter:html.embed.video-playlist.allowed.result` & `filter:html.embed.video.allowed.result` to forbid embed
938 * `filter:api.search.videos.local.list.params` & `filter:api.search.videos.local.list.result` 938 * `filter:api.search.videos.local.list.params` & `filter:api.search.videos.local.list.result`
@@ -1042,11 +1042,11 @@
1042 1042
1043### Plugins/Themes/Embed API 1043### Plugins/Themes/Embed API
1044 1044
1045 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 1045 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
1046 * `filter:api.user.me.videos.list.params` and `filter:api.user.me.videos.list.result` 1046 * `filter:api.user.me.videos.list.params` and `filter:api.user.me.videos.list.result`
1047 * Add server helpers: 1047 * Add server helpers:
1048 * `videos.loadByIdOrUUID` 1048 * `videos.loadByIdOrUUID`
1049 * Add server transcoding helpers (https://docs.joinpeertube.org/contribute-plugins?id=add-new-transcoding-profiles): 1049 * Add server transcoding helpers (https://docs.joinpeertube.org/contribute/plugins?id=add-new-transcoding-profiles):
1050 * `transcodingManager.addVODProfile` 1050 * `transcodingManager.addVODProfile`
1051 * `transcodingManager.addVODEncoderPriority` 1051 * `transcodingManager.addVODEncoderPriority`
1052 * `transcodingManager.addLiveProfile` 1052 * `transcodingManager.addLiveProfile`
@@ -1161,7 +1161,7 @@
1161 1161
1162### Docker 1162### Docker
1163 1163
1164 * Fix [upgrade documentation](https://docs.joinpeertube.org/install-docker?id=upgrade) 1164 * Fix [upgrade documentation](https://docs.joinpeertube.org/install/docker?id=upgrade)
1165 * Add live RTMP port in docker compose 1165 * Add live RTMP port in docker compose
1166 1166
1167### Bug fixes 1167### Bug fixes
@@ -1195,13 +1195,13 @@
1195 * Replace traefik by nginx in our docker-compose template: 1195 * Replace traefik by nginx in our docker-compose template:
1196 * Better consistency with our default setup (we now use the same stack) 1196 * Better consistency with our default setup (we now use the same stack)
1197 * Use our default nginx template enabling many optimizations 1197 * Use our default nginx template enabling many optimizations
1198 * Update the documentation to take into account this change: https://docs.joinpeertube.org/install-docker 1198 * Update the documentation to take into account this change: https://docs.joinpeertube.org/install/docker
1199 1199
1200### Plugins/Themes/Embed API 1200### Plugins/Themes/Embed API
1201 1201
1202 * Add ability for auth plugins to redirect user on logout [#32](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/32) & [#33](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/33) 1202 * Add ability for auth plugins to redirect user on logout [#32](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/32) & [#33](https://framagit.org/framasoft/peertube/PeerTube/-/merge_requests/33)
1203 * Add `input-password` setting to plugins [#3375](https://github.com/Chocobozzz/PeerTube/issues/3375) 1203 * Add `input-password` setting to plugins [#3375](https://github.com/Chocobozzz/PeerTube/issues/3375)
1204 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 1204 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
1205 * `filter:api.accounts.videos.list.params` 1205 * `filter:api.accounts.videos.list.params`
1206 * `filter:api.accounts.videos.list.result` 1206 * `filter:api.accounts.videos.list.result`
1207 * `filter:api.video-channels.videos.list.params` 1207 * `filter:api.video-channels.videos.list.params`
@@ -1352,16 +1352,16 @@
1352 1352
1353### Plugins/Themes/Embed API 1353### Plugins/Themes/Embed API
1354 1354
1355 * Add embed API (https://docs.joinpeertube.org/api-embed-player): 1355 * Add embed API (https://docs.joinpeertube.org/api/embed-player):
1356 * `playNextVideo` method 1356 * `playNextVideo` method
1357 * `playPreviousVideo` method 1357 * `playPreviousVideo` method
1358 * `getCurrentPosition` method 1358 * `getCurrentPosition` method
1359 * Embed URL parameters 1359 * Embed URL parameters
1360 * Add ability to disable PeerTube link in embed using an URL param (`peertubeLink=0`) 1360 * Add ability to disable PeerTube link in embed using an URL param (`peertubeLink=0`)
1361 * Add plugins support in embed 1361 * Add plugins support in embed
1362 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 1362 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
1363 * `action:embed.player.loaded` (for embed) 1363 * `action:embed.player.loaded` (for embed)
1364 * Add custom fields in video update/upload form using `registerVideoField` (https://docs.joinpeertube.org/contribute-plugins?id=add-custom-fields-to-video-form) 1364 * Add custom fields in video update/upload form using `registerVideoField` (https://docs.joinpeertube.org/contribute/plugins?id=add-custom-fields-to-video-form)
1365 1365
1366### Features 1366### Features
1367 1367
@@ -1571,7 +1571,7 @@ A new endpoint to report videos will be created in PeerTube 2.4 and will also al
1571 1571
1572### CLI tools 1572### CLI tools
1573 1573
1574 * Add redundancy CLI: https://docs.joinpeertube.org/maintain-tools?id=peertube-redundancyjs 1574 * Add redundancy CLI: https://docs.joinpeertube.org/maintain/tools?id=peertube-redundancyjs
1575 * Add ability to pass remaining options to youtube-dl binary in peertube-import script ([@drzraf](https://github.com/drzraf)) 1575 * Add ability to pass remaining options to youtube-dl binary in peertube-import script ([@drzraf](https://github.com/drzraf))
1576 1576
1577### Docker 1577### Docker
@@ -1581,19 +1581,19 @@ A new endpoint to report videos will be created in PeerTube 2.4 and will also al
1581 1581
1582### Maintenance 1582### Maintenance
1583 1583
1584 * Add nginx configuration to redirect videos to an S3 bucket ([@rigelk](https://github.com/rigelk)) and update of the [corresponding documentation](https://docs.joinpeertube.org/admin-remote-storage). 1584 * Add nginx configuration to redirect videos to an S3 bucket ([@rigelk](https://github.com/rigelk)) and update of the [corresponding documentation](https://docs.joinpeertube.org/admin/remote-storage).
1585 1585
1586### Plugins/Themes/Embed API 1586### Plugins/Themes/Embed API
1587 1587
1588 * Add embed API (https://docs.joinpeertube.org/api-embed-player): 1588 * Add embed API (https://docs.joinpeertube.org/api/embed-player):
1589 * `playbackState` can be `ended` 1589 * `playbackState` can be `ended`
1590 * `playbackStatusUpdate` has a `duration` field 1590 * `playbackStatusUpdate` has a `duration` field
1591 * `setCaption` and `getCaptions` methods 1591 * `setCaption` and `getCaptions` methods
1592 * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): 1592 * Add client plugin hooks (https://docs.joinpeertube.org/api/plugins):
1593 * `action:login.init` 1593 * `action:login.init`
1594 * `action:video-watch.video-threads.loaded` 1594 * `action:video-watch.video-threads.loaded`
1595 * `action:video-watch.video-thread-replies.loaded` ([@ipbc-dev](https://github.com/ipbc-dev)) 1595 * `action:video-watch.video-thread-replies.loaded` ([@ipbc-dev](https://github.com/ipbc-dev))
1596 * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): 1596 * Add server plugin hooks (https://docs.joinpeertube.org/api/plugins):
1597 * `filter:api.video.pre-import-url.accept.result` 1597 * `filter:api.video.pre-import-url.accept.result`
1598 * `filter:api.video.pre-import-torrent.accept.result` 1598 * `filter:api.video.pre-import-torrent.accept.result`
1599 * `filter:api.video.post-import-url.accept.result` 1599 * `filter:api.video.post-import-url.accept.result`
@@ -1785,13 +1785,13 @@ A new endpoint to report videos will be created in PeerTube 2.4 and will also al
1785 1785
1786We added some sections in the documentation website: 1786We added some sections in the documentation website:
1787 1787
1788 * S3 remote storage: https://docs.joinpeertube.org/admin-remote-storage 1788 * S3 remote storage: https://docs.joinpeertube.org/admin/remote-storage
1789 * Instances redundancy: https://docs.joinpeertube.org/admin-following-instances 1789 * Instances redundancy: https://docs.joinpeertube.org/admin/following-instances
1790 * Moderate your instance: https://docs.joinpeertube.org/admin-moderation 1790 * Moderate your instance: https://docs.joinpeertube.org/admin/moderation
1791 * Customize your instance (install plugins & themes): https://docs.joinpeertube.org/admin-customize-instance 1791 * Customize your instance (install plugins & themes): https://docs.joinpeertube.org/admin/customize-instance
1792 * PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/admin-logs 1792 * PeerTube logs (standard log/audit log): https://docs.joinpeertube.org/admin/logs
1793 * Mute accounts/instances: https://docs.joinpeertube.org/use-mute 1793 * Mute accounts/instances: https://docs.joinpeertube.org/use/mute
1794 * Controlled player embed API: https://docs.joinpeertube.org/api-embed-player 1794 * Controlled player embed API: https://docs.joinpeertube.org/api/embed-player
1795 1795
1796### Docker 1796### Docker
1797 1797
@@ -1826,7 +1826,7 @@ We added some sections in the documentation website:
1826 1826
1827 * PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/ 1827 * PeerTube moved translations from Zanata to Weblate. Here is the new translations website URL: https://weblate.framasoft.org/projects/peertube/
1828 * We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api 1828 * We now provide a JavaScript library to control a PeerTube embed: https://www.npmjs.com/package/@peertube/embed-api
1829 * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/maintain-tools?id=create-transcoding-jobjs)) 1829 * Add ability to generate HLS videos using `create-transcoding-job` script (see [the documentation](https://docs.joinpeertube.org/maintain/tools?id=create-transcoding-jobjs))
1830 * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx)) 1830 * Update nginx template: (you need to [update manually](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md#nginx))
1831 * Add streaming playlists endpoint 1831 * Add streaming playlists endpoint
1832 * Add `client_body_temp_path` hint 1832 * Add `client_body_temp_path` hint
@@ -2095,7 +2095,7 @@ We added some sections in the documentation website:
2095### Features 2095### Features
2096 2096
2097 * :tada: Support Finnish, Greek and Scottish Gaelic languages 2097 * :tada: Support Finnish, Greek and Scottish Gaelic languages
2098 * :tada: Add basic plugins and themes support (**beta**): https://docs.joinpeertube.org/contribute-plugins 2098 * :tada: Add basic plugins and themes support (**beta**): https://docs.joinpeertube.org/contribute/plugins
2099 * Install plugins or themes from the administration panel 2099 * Install plugins or themes from the administration panel
2100 * Choose a default theme for your instance 2100 * Choose a default theme for your instance
2101 * Users can choose the theme they want among the list of themes their administrator installed 2101 * Users can choose the theme they want among the list of themes their administrator installed
diff --git a/README.md b/README.md
index 5fe24a9f2..fd150042c 100644
--- a/README.md
+++ b/README.md
@@ -116,7 +116,7 @@ Be it as a user or an instance administrator, you can decide what your experienc
116 116
117<h3 align="right">Communities that help each other</h3> 117<h3 align="right">Communities that help each other</h3>
118<p align="right"> 118<p align="right">
119In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="https://docs.joinpeertube.org/contribute-architecture?id=redundancy-between-instances">redundancy guide</a>). 119In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="https://docs.joinpeertube.org/contribute/architecture?id=redundancy-between-instances">redundancy guide</a>).
120</p> 120</p>
121<p align="right"> 121<p align="right">
122Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and alter creativity (more about that in our <a href="https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md">FAQ</a>). 122Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and alter creativity (more about that in our <a href="https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md">FAQ</a>).
@@ -147,7 +147,7 @@ Feel free to reach out if you have any questions or ideas! :speech_balloon:
147 147
148See the [production guide](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md), which is the recommended way to install or upgrade PeerTube. For hardware requirements, see [Should I have a big server to run PeerTube?](https://joinpeertube.org/faq#should-i-have-a-big-server-to-run-peertube) in the FAQ. 148See the [production guide](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md), which is the recommended way to install or upgrade PeerTube. For hardware requirements, see [Should I have a big server to run PeerTube?](https://joinpeertube.org/faq#should-i-have-a-big-server-to-run-peertube) in the FAQ.
149 149
150See the [community packages](https://docs.joinpeertube.org/install-unofficial), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md)). 150See the [community packages](https://docs.joinpeertube.org/install/unofficial), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md)).
151 151
152:book: Documentation 152:book: Documentation
153---------------------------------------------------------------- 153----------------------------------------------------------------
@@ -156,27 +156,27 @@ If you have a question, please try to find the answer in the [FAQ](https://joinp
156 156
157### User documentation 157### User documentation
158 158
159See the [user documentation](https://docs.joinpeertube.org/use-setup-account). 159See the [user documentation](https://docs.joinpeertube.org/use/setup-account).
160 160
161### Admin documentation 161### Admin documentation
162 162
163See [how to create your own instance](https://github.com/Chocobozzz/PeerTube/blob/develop/README.md#package-create-your-own-instance). 163See [how to create your own instance](https://github.com/Chocobozzz/PeerTube/blob/develop/README.md#package-create-your-own-instance).
164 164
165See the more general [admin documentation](https://docs.joinpeertube.org/admin-following-instances). 165See the more general [admin documentation](https://docs.joinpeertube.org/admin/following-instances).
166 166
167### Tools documentation 167### Tools documentation
168 168
169Learn how to import/upload videos from CLI or admin your PeerTube instance with the [tools documentation](https://docs.joinpeertube.org/maintain-tools). 169Learn how to import/upload videos from CLI or admin your PeerTube instance with the [tools documentation](https://docs.joinpeertube.org/maintain/tools).
170 170
171### Technical documentation 171### Technical documentation
172 172
173See the [architecture blueprint](https://docs.joinpeertube.org/contribute-architecture) for a more detailed explanation of the architectural choices. 173See the [architecture blueprint](https://docs.joinpeertube.org/contribute/architecture) for a more detailed explanation of the architectural choices.
174 174
175See our REST API documentation: 175See our REST API documentation:
176 * OpenAPI 3.0.0 schema: [/support/doc/api/openapi.yaml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/openapi.yaml) 176 * OpenAPI 3.0.0 schema: [/support/doc/api/openapi.yaml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/openapi.yaml)
177 * Spec explorer: [docs.joinpeertube.org/api-rest-reference.html](https://docs.joinpeertube.org/api-rest-reference.html) 177 * Spec explorer: [docs.joinpeertube.org/api-rest-reference.html](https://docs.joinpeertube.org/api/rest-reference.html)
178 178
179See our [ActivityPub documentation](https://docs.joinpeertube.org/api-activitypub). 179See our [ActivityPub documentation](https://docs.joinpeertube.org/api/activitypub).
180 180
181## License 181## License
182 182
diff --git a/client/src/app/+about/about-peertube/about-peertube.component.html b/client/src/app/+about/about-peertube/about-peertube.component.html
index c0177fe6c..d1c3c678a 100644
--- a/client/src/app/+about/about-peertube/about-peertube.component.html
+++ b/client/src/app/+about/about-peertube/about-peertube.component.html
@@ -25,7 +25,7 @@
25 <div class="card"> 25 <div class="card">
26 <div class="card-body"> 26 <div class="card-body">
27 <div class="card-title"> 27 <div class="card-title">
28 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/use-setup-account">Use PeerTube documentation</a> 28 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/use/setup-account">Use PeerTube documentation</a>
29 </div> 29 </div>
30 30
31 <div i18n class="card-text"> 31 <div i18n class="card-text">
@@ -37,7 +37,7 @@
37 <div class="card"> 37 <div class="card">
38 <div class="card-body"> 38 <div class="card-body">
39 <div class="card-title"> 39 <div class="card-title">
40 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/use-third-party-application">PeerTube Applications</a> 40 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/use/third-party-application">PeerTube Applications</a>
41 </div> 41 </div>
42 42
43 <div i18n class="card-text"> 43 <div i18n class="card-text">
@@ -49,7 +49,7 @@
49 <div class="card"> 49 <div class="card">
50 <div class="card-body"> 50 <div class="card-body">
51 <div class="card-title"> 51 <div class="card-title">
52 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/contribute-getting-started">Contribute on PeerTube</a> 52 <a i18n class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/contribute/getting-started">Contribute on PeerTube</a>
53 </div> 53 </div>
54 54
55 <div i18n class="card-text"> 55 <div i18n class="card-text">
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html b/client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html
index 2a9f9d69d..2a46e61df 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html
+++ b/client/src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html
@@ -280,7 +280,7 @@
280 i18n-labelText labelText="Allow import with HTTP URL (e.g. YouTube)" 280 i18n-labelText labelText="Allow import with HTTP URL (e.g. YouTube)"
281 > 281 >
282 <ng-container ngProjectAs="description"> 282 <ng-container ngProjectAs="description">
283 <span i18n>⚠️ If enabled, we recommend to use <a class="link-orange" href="https://docs.joinpeertube.org/maintain-configuration?id=security">a HTTP proxy</a> to prevent private URL access from your PeerTube server</span> 283 <span i18n>⚠️ If enabled, we recommend to use <a class="link-orange" href="https://docs.joinpeertube.org/maintain/configuration?id=security">a HTTP proxy</a> to prevent private URL access from your PeerTube server</span>
284 </ng-container> 284 </ng-container>
285 </my-peertube-checkbox> 285 </my-peertube-checkbox>
286 </div> 286 </div>
@@ -503,7 +503,7 @@
503 <div i18n>⚠️ This functionality requires a lot of attention and extra moderation.</div> 503 <div i18n>⚠️ This functionality requires a lot of attention and extra moderation.</div>
504 504
505 <span i18n> 505 <span i18n>
506 See <a class="link-orange" href="https://docs.joinpeertube.org/admin-following-instances?id=automatically-follow-other-instances" rel="noopener noreferrer" target="_blank">the documentation</a> for more information about the expected URL 506 See <a class="link-orange" href="https://docs.joinpeertube.org/admin/following-instances?id=automatically-follow-other-instances" rel="noopener noreferrer" target="_blank">the documentation</a> for more information about the expected URL
507 </span> 507 </span>
508 </ng-container> 508 </ng-container>
509 509
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html b/client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html
index 1e7691f9e..531fa0cfe 100644
--- a/client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html
+++ b/client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html
@@ -10,7 +10,7 @@
10 </span> 10 </span>
11 11
12 <span i18n> 12 <span i18n>
13 However, you may want to read <a class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/admin-configuration?id=transcoding">our guidelines</a> before tweaking the following values. 13 However, you may want to read <a class="link-orange" target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/admin/configuration?id=transcoding">our guidelines</a> before tweaking the following values.
14 </span> 14 </span>
15 </div> 15 </div>
16 </div> 16 </div>
diff --git a/client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html b/client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html
index 806dd6f48..8baa647fa 100644
--- a/client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html
+++ b/client/src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html
@@ -29,7 +29,7 @@
29 </div> 29 </div>
30 30
31 <div i18n> 31 <div i18n>
32 See the <a target="_blank" href="https://docs.joinpeertube.org/use-library?id=playlist">documentation</a> for more information. 32 See the <a target="_blank" href="https://docs.joinpeertube.org/use/library?id=playlist">documentation</a> for more information.
33 </div> 33 </div>
34 </div> 34 </div>
35 35
diff --git a/client/src/app/+signup/shared/signup-success-after-email.component.html b/client/src/app/+signup/shared/signup-success-after-email.component.html
index 1c3536ada..683e55525 100644
--- a/client/src/app/+signup/shared/signup-success-after-email.component.html
+++ b/client/src/app/+signup/shared/signup-success-after-email.component.html
@@ -15,7 +15,7 @@
15 <p i18n>Your email has been verified and your account has been created!</p> 15 <p i18n>Your email has been verified and your account has been created!</p>
16 16
17 <p i18n> 17 <p i18n>
18 If you need help to use PeerTube, you can have a look at the <a class="link-orange" href="https://docs.joinpeertube.org/use-setup-account" target="_blank" rel="noopener noreferrer">documentation</a>. 18 If you need help to use PeerTube, you can have a look at the <a class="link-orange" href="https://docs.joinpeertube.org/use/setup-account" target="_blank" rel="noopener noreferrer">documentation</a>.
19 </p> 19 </p>
20 </ng-container> 20 </ng-container>
21</div> 21</div>
diff --git a/client/src/app/+signup/shared/signup-success-before-email.component.html b/client/src/app/+signup/shared/signup-success-before-email.component.html
index b9668ee82..8e2494b65 100644
--- a/client/src/app/+signup/shared/signup-success-before-email.component.html
+++ b/client/src/app/+signup/shared/signup-success-before-email.component.html
@@ -29,7 +29,7 @@
29 </p> 29 </p>
30 30
31 <p *ngIf="!requiresApproval" i18n> 31 <p *ngIf="!requiresApproval" i18n>
32 If you need help to use PeerTube, you can have a look at the <a class="link-orange" href="https://docs.joinpeertube.org/use-setup-account" target="_blank" rel="noopener noreferrer">documentation</a>. 32 If you need help to use PeerTube, you can have a look at the <a class="link-orange" href="https://docs.joinpeertube.org/use/setup-account" target="_blank" rel="noopener noreferrer">documentation</a>.
33 </p> 33 </p>
34 </ng-container> 34 </ng-container>
35</div> 35</div>
diff --git a/client/src/app/menu/menu.component.html b/client/src/app/menu/menu.component.html
index 0fb9897b9..6c5258010 100644
--- a/client/src/app/menu/menu.component.html
+++ b/client/src/app/menu/menu.component.html
@@ -142,7 +142,7 @@
142 <a i18n href="https://joinpeertube.org/help" i18n-title title="Get help using PeerTube" target="_blank" rel="noopener noreferrer">Help</a> 142 <a i18n href="https://joinpeertube.org/help" i18n-title title="Get help using PeerTube" target="_blank" rel="noopener noreferrer">Help</a>
143 <a i18n href="https://joinpeertube.org/faq" i18n-title title="Frequently asked questions about PeerTube" target="_blank" rel="noopener noreferrer">FAQ</a> 143 <a i18n href="https://joinpeertube.org/faq" i18n-title title="Frequently asked questions about PeerTube" target="_blank" rel="noopener noreferrer">FAQ</a>
144 <a i18n routerLink="/about/instance" fragment="statistics">Stats</a> 144 <a i18n routerLink="/about/instance" fragment="statistics">Stats</a>
145 <a i18n href="https://docs.joinpeertube.org/api-rest-reference.html" i18n-title title="API documentation" target="_blank" rel="noopener noreferrer">API</a> 145 <a i18n href="https://docs.joinpeertube.org/api/rest-reference.html" i18n-title title="API documentation" target="_blank" rel="noopener noreferrer">API</a>
146 <a role="button" (click)="openHotkeysCheatSheet()" class="c-hand" i18n>Keyboard shortcuts</a> 146 <a role="button" (click)="openHotkeysCheatSheet()" class="c-hand" i18n>Keyboard shortcuts</a>
147 </div> 147 </div>
148 </div> 148 </div>
diff --git a/client/src/app/modal/admin-welcome-modal.component.html b/client/src/app/modal/admin-welcome-modal.component.html
index b74d73185..826b547c3 100644
--- a/client/src/app/modal/admin-welcome-modal.component.html
+++ b/client/src/app/modal/admin-welcome-modal.component.html
@@ -8,22 +8,22 @@
8 8
9 <div class="block-documentation"> 9 <div class="block-documentation">
10 <div class="columns"> 10 <div class="columns">
11 <a class="link-block" href="https://docs.joinpeertube.org/maintain-tools" target="_blank" rel="noopener noreferrer"> 11 <a class="link-block" href="https://docs.joinpeertube.org/maintain/tools" target="_blank" rel="noopener noreferrer">
12 <a i18n class="link-title" href="https://docs.joinpeertube.org/maintain-tools" target="_blank" rel="noopener noreferrer">CLI 12 <a i18n class="link-title" href="https://docs.joinpeertube.org/maintain/tools" target="_blank" rel="noopener noreferrer">CLI
13 documentation</a> 13 documentation</a>
14 14
15 <div i18n>Upload or import videos, parse logs, prune storage directories, reset user password...</div> 15 <div i18n>Upload or import videos, parse logs, prune storage directories, reset user password...</div>
16 </a> 16 </a>
17 17
18 <a class="link-block" href="https://docs.joinpeertube.org/admin-following-instances" target="_blank" rel="noopener noreferrer"> 18 <a class="link-block" href="https://docs.joinpeertube.org/admin/following-instances" target="_blank" rel="noopener noreferrer">
19 <a i18n class="link-title" href="https://docs.joinpeertube.org/admin-following-instances" target="_blank" rel="noopener noreferrer">Administer 19 <a i18n class="link-title" href="https://docs.joinpeertube.org/admin/following-instances" target="_blank" rel="noopener noreferrer">Administer
20 documentation</a> 20 documentation</a>
21 21
22 <div i18n>Managing users, following other instances, dealing with spammers...</div> 22 <div i18n>Managing users, following other instances, dealing with spammers...</div>
23 </a> 23 </a>
24 24
25 <a class="link-block" href="https://docs.joinpeertube.org/use-setup-account" target="_blank" rel="noopener noreferrer"> 25 <a class="link-block" href="https://docs.joinpeertube.org/use/setup-account" target="_blank" rel="noopener noreferrer">
26 <a i18n class="link-title" href="https://docs.joinpeertube.org/use-setup-account" target="_blank" rel="noopener noreferrer">Use 26 <a i18n class="link-title" href="https://docs.joinpeertube.org/use/setup-account" target="_blank" rel="noopener noreferrer">Use
27 documentation</a> 27 documentation</a>
28 28
29 <div i18n>Setup your account, managing video playlists, discover third-party applications...</div> 29 <div i18n>Setup your account, managing video playlists, discover third-party applications...</div>
diff --git a/client/src/app/shared/shared-custom-markup/custom-markup-help.component.html b/client/src/app/shared/shared-custom-markup/custom-markup-help.component.html
index 0ca84ff78..73a2b4058 100644
--- a/client/src/app/shared/shared-custom-markup/custom-markup-help.component.html
+++ b/client/src/app/shared/shared-custom-markup/custom-markup-help.component.html
@@ -1,3 +1,3 @@
1<ng-container i18n> 1<ng-container i18n>
2 <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noreferrer noopener">Markdown compatible</a> that also supports <a href="https://docs.joinpeertube.org/api-custom-client-markup" target="_blank" rel="noreferrer noopener">custom PeerTube HTML tags</a> 2 <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noreferrer noopener">Markdown compatible</a> that also supports <a href="https://docs.joinpeertube.org/api/custom-client-markup" target="_blank" rel="noreferrer noopener">custom PeerTube HTML tags</a>
3</ng-container> 3</ng-container>
diff --git a/client/src/app/shared/shared-video-live/live-documentation-link.component.html b/client/src/app/shared/shared-video-live/live-documentation-link.component.html
index 27248645f..fca3ca825 100644
--- a/client/src/app/shared/shared-video-live/live-documentation-link.component.html
+++ b/client/src/app/shared/shared-video-live/live-documentation-link.component.html
@@ -1,4 +1,4 @@
1<p i18n> 1<p i18n>
2 See <a class="link-orange" href="https://docs.joinpeertube.org/use-create-upload-video?id=publish-a-live-in-peertube-gt-v3" target="_blank" rel="noopener noreferrer">the documentation</a> 2 See <a class="link-orange" href="https://docs.joinpeertube.org/use/create-upload-video?id=publish-a-live-in-peertube-gt-v3" target="_blank" rel="noopener noreferrer">the documentation</a>
3 to learn how to use the PeerTube live streaming feature. 3 to learn how to use the PeerTube live streaming feature.
4</p> 4</p>
diff --git a/client/src/standalone/player/README.md b/client/src/standalone/player/README.md
index 0639b4650..7b47e8f02 100644
--- a/client/src/standalone/player/README.md
+++ b/client/src/standalone/player/README.md
@@ -1,3 +1,3 @@
1# @peertube/embed-api 1# @peertube/embed-api
2 2
3See https://docs.joinpeertube.org/api-embed-player 3See https://docs.joinpeertube.org/api/embed-player
diff --git a/config/default.yaml b/config/default.yaml
index bb4a823fa..6bb827d66 100644
--- a/config/default.yaml
+++ b/config/default.yaml
@@ -217,7 +217,7 @@ log:
217 accept_client_log: true 217 accept_client_log: true
218 218
219# Support of Open Telemetry metrics and tracing 219# Support of Open Telemetry metrics and tracing
220# For more information: https://docs.joinpeertube.org/maintain-observability 220# For more information: https://docs.joinpeertube.org/maintain/observability
221open_telemetry: 221open_telemetry:
222 metrics: 222 metrics:
223 enabled: false 223 enabled: false
@@ -557,7 +557,7 @@ import:
557 # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html 557 # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html
558 http: 558 http:
559 # We recommend to use a HTTP proxy if you enable HTTP import to prevent private URL access from this server 559 # We recommend to use a HTTP proxy if you enable HTTP import to prevent private URL access from this server
560 # See https://docs.joinpeertube.org/maintain-configuration?id=security for more information 560 # See https://docs.joinpeertube.org/maintain/configuration?id=security for more information
561 enabled: false 561 enabled: false
562 562
563 youtube_dl_release: 563 youtube_dl_release:
@@ -581,7 +581,7 @@ import:
581 # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) 581 # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file)
582 torrent: 582 torrent:
583 # We recommend to only enable magnet URI/torrent import if you trust your users 583 # We recommend to only enable magnet URI/torrent import if you trust your users
584 # See https://docs.joinpeertube.org/maintain-configuration?id=security for more information 584 # See https://docs.joinpeertube.org/maintain/configuration?id=security for more information
585 enabled: false 585 enabled: false
586 586
587 # Add ability for your users to synchronize their channels with external channels, playlists, etc 587 # Add ability for your users to synchronize their channels with external channels, playlists, etc
@@ -741,7 +741,7 @@ search:
741 search_index: 741 search_index:
742 enabled: false 742 enabled: false
743 # URL of the search index, that should use the same search API and routes 743 # URL of the search index, that should use the same search API and routes
744 # than PeerTube: https://docs.joinpeertube.org/api-rest-reference.html 744 # than PeerTube: https://docs.joinpeertube.org/api/rest-reference.html
745 # You should deploy your own with https://framagit.org/framasoft/peertube/search-index, 745 # You should deploy your own with https://framagit.org/framasoft/peertube/search-index,
746 # and can use https://search.joinpeertube.org/ for tests, but keep in mind the latter is an unmoderated search index 746 # and can use https://search.joinpeertube.org/ for tests, but keep in mind the latter is an unmoderated search index
747 url: '' 747 url: ''
diff --git a/config/production.yaml.example b/config/production.yaml.example
index f1ebf9095..4a80cfe5f 100644
--- a/config/production.yaml.example
+++ b/config/production.yaml.example
@@ -215,7 +215,7 @@ log:
215 accept_client_log: true 215 accept_client_log: true
216 216
217# Support of Open Telemetry metrics and tracing 217# Support of Open Telemetry metrics and tracing
218# For more information: https://docs.joinpeertube.org/maintain-observability 218# For more information: https://docs.joinpeertube.org/maintain/observability
219open_telemetry: 219open_telemetry:
220 metrics: 220 metrics:
221 enabled: false 221 enabled: false
@@ -567,7 +567,7 @@ import:
567 # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html 567 # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html
568 http: 568 http:
569 # We recommend to use a HTTP proxy if you enable HTTP import to prevent private URL access from this server 569 # We recommend to use a HTTP proxy if you enable HTTP import to prevent private URL access from this server
570 # See https://docs.joinpeertube.org/maintain-configuration?id=security for more information 570 # See https://docs.joinpeertube.org/maintain/configuration?id=security for more information
571 enabled: false 571 enabled: false
572 572
573 youtube_dl_release: 573 youtube_dl_release:
@@ -591,7 +591,7 @@ import:
591 # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) 591 # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file)
592 torrent: 592 torrent:
593 # We recommend to only enable magnet URI/torrent import if you trust your users 593 # We recommend to only enable magnet URI/torrent import if you trust your users
594 # See https://docs.joinpeertube.org/maintain-configuration?id=security for more information 594 # See https://docs.joinpeertube.org/maintain/configuration?id=security for more information
595 enabled: false 595 enabled: false
596 596
597 # Add ability for your users to synchronize their channels with external channels, playlists, etc. 597 # Add ability for your users to synchronize their channels with external channels, playlists, etc.
@@ -751,7 +751,7 @@ search:
751 search_index: 751 search_index:
752 enabled: false 752 enabled: false
753 # URL of the search index, that should use the same search API and routes 753 # URL of the search index, that should use the same search API and routes
754 # than PeerTube: https://docs.joinpeertube.org/api-rest-reference.html 754 # than PeerTube: https://docs.joinpeertube.org/api/rest-reference.html
755 # You should deploy your own with https://framagit.org/framasoft/peertube/search-index, 755 # You should deploy your own with https://framagit.org/framasoft/peertube/search-index,
756 # and can use https://search.joinpeertube.org/ for tests, but keep in mind the latter is an unmoderated search index 756 # and can use https://search.joinpeertube.org/ for tests, but keep in mind the latter is an unmoderated search index
757 url: '' 757 url: ''
diff --git a/packages/types/README.md b/packages/types/README.md
index adeca48e5..f01a5b926 100644
--- a/packages/types/README.md
+++ b/packages/types/README.md
@@ -16,4 +16,4 @@ yarn add --dev @peertube/peertube-types
16 16
17## Usage 17## Usage
18 18
19> See [contribute-plugins](https://docs.joinpeertube.org/contribute-plugins?id=typescript) **Typescript** section of the doc. 19> See [contribute-plugins](https://docs.joinpeertube.org/contribute/plugins?id=typescript) **Typescript** section of the doc.
diff --git a/server/middlewares/doc.ts b/server/middlewares/doc.ts
index eef76acaa..c43f41977 100644
--- a/server/middlewares/doc.ts
+++ b/server/middlewares/doc.ts
@@ -5,7 +5,7 @@ function openapiOperationDoc (options: {
5 operationId?: string 5 operationId?: string
6}) { 6}) {
7 return (req: express.Request, res: express.Response, next: express.NextFunction) => { 7 return (req: express.Request, res: express.Response, next: express.NextFunction) => {
8 res.locals.docUrl = options.url || 'https://docs.joinpeertube.org/api-rest-reference.html#operation/' + options.operationId 8 res.locals.docUrl = options.url || 'https://docs.joinpeertube.org/api/rest-reference.html#operation/' + options.operationId
9 9
10 if (next) return next() 10 if (next) return next()
11 } 11 }
diff --git a/server/middlewares/error.ts b/server/middlewares/error.ts
index 96a85012a..7b116eb57 100644
--- a/server/middlewares/error.ts
+++ b/server/middlewares/error.ts
@@ -28,7 +28,7 @@ function apiFailMiddleware (req: express.Request, res: express.Response, next: e
28 detail: message, 28 detail: message,
29 29
30 type: type 30 type: type
31 ? `https://docs.joinpeertube.org/api-rest-reference.html#section/Errors/${type}` 31 ? `https://docs.joinpeertube.org/api/rest-reference.html#section/Errors/${type}`
32 : undefined 32 : undefined
33 }, extension) 33 }, extension)
34 34
diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts
index 572ca8997..2a83143e2 100644
--- a/server/tests/api/check-params/videos.ts
+++ b/server/tests/api/check-params/videos.ts
@@ -421,9 +421,9 @@ describe('Test videos API validator', function () {
421 const error = body as unknown as PeerTubeProblemDocument 421 const error = body as unknown as PeerTubeProblemDocument
422 422
423 if (mode === 'legacy') { 423 if (mode === 'legacy') {
424 expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/uploadLegacy') 424 expect(error.docs).to.equal('https://docs.joinpeertube.org/api/rest-reference.html#operation/uploadLegacy')
425 } else { 425 } else {
426 expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/uploadResumableInit') 426 expect(error.docs).to.equal('https://docs.joinpeertube.org/api/rest-reference.html#operation/uploadResumableInit')
427 } 427 }
428 428
429 expect(error.type).to.equal('about:blank') 429 expect(error.type).to.equal('about:blank')
@@ -680,7 +680,7 @@ describe('Test videos API validator', function () {
680 const res = await makePutBodyRequest({ url: server.url, path: path + video.shortUUID, token: server.accessToken, fields }) 680 const res = await makePutBodyRequest({ url: server.url, path: path + video.shortUUID, token: server.accessToken, fields })
681 const error = res.body as PeerTubeProblemDocument 681 const error = res.body as PeerTubeProblemDocument
682 682
683 expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/putVideo') 683 expect(error.docs).to.equal('https://docs.joinpeertube.org/api/rest-reference.html#operation/putVideo')
684 684
685 expect(error.type).to.equal('about:blank') 685 expect(error.type).to.equal('about:blank')
686 expect(error.title).to.equal('Bad Request') 686 expect(error.title).to.equal('Bad Request')
@@ -729,7 +729,7 @@ describe('Test videos API validator', function () {
729 const body = await server.videos.get({ id: 'hi', expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) 729 const body = await server.videos.get({ id: 'hi', expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
730 const error = body as unknown as PeerTubeProblemDocument 730 const error = body as unknown as PeerTubeProblemDocument
731 731
732 expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo') 732 expect(error.docs).to.equal('https://docs.joinpeertube.org/api/rest-reference.html#operation/getVideo')
733 733
734 expect(error.type).to.equal('about:blank') 734 expect(error.type).to.equal('about:blank')
735 expect(error.title).to.equal('Bad Request') 735 expect(error.title).to.equal('Bad Request')
@@ -835,7 +835,7 @@ describe('Test videos API validator', function () {
835 const body = await server.videos.remove({ id: 'hello', expectedStatus: HttpStatusCode.BAD_REQUEST_400 }) 835 const body = await server.videos.remove({ id: 'hello', expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
836 const error = body as PeerTubeProblemDocument 836 const error = body as PeerTubeProblemDocument
837 837
838 expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/delVideo') 838 expect(error.docs).to.equal('https://docs.joinpeertube.org/api/rest-reference.html#operation/delVideo')
839 839
840 expect(error.type).to.equal('about:blank') 840 expect(error.type).to.equal('about:blank')
841 expect(error.title).to.equal('Bad Request') 841 expect(error.title).to.equal('Bad Request')
diff --git a/server/tests/api/server/follow-constraints.ts b/server/tests/api/server/follow-constraints.ts
index ff5332858..704d6fc96 100644
--- a/server/tests/api/server/follow-constraints.ts
+++ b/server/tests/api/server/follow-constraints.ts
@@ -146,7 +146,7 @@ describe('Test follow constraints', function () {
146 const body = await servers[0].videos.get({ id: video2UUID, expectedStatus: HttpStatusCode.FORBIDDEN_403 }) 146 const body = await servers[0].videos.get({ id: video2UUID, expectedStatus: HttpStatusCode.FORBIDDEN_403 })
147 const error = body as unknown as PeerTubeProblemDocument 147 const error = body as unknown as PeerTubeProblemDocument
148 148
149 const doc = 'https://docs.joinpeertube.org/api-rest-reference.html#section/Errors/does_not_respect_follow_constraints' 149 const doc = 'https://docs.joinpeertube.org/api/rest-reference.html#section/Errors/does_not_respect_follow_constraints'
150 expect(error.type).to.equal(doc) 150 expect(error.type).to.equal(doc)
151 expect(error.code).to.equal(ServerErrorCode.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS) 151 expect(error.code).to.equal(ServerErrorCode.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS)
152 152
diff --git a/server/tools/README.md b/server/tools/README.md
index 449c57ce1..dab61e73e 100644
--- a/server/tools/README.md
+++ b/server/tools/README.md
@@ -1,3 +1,3 @@
1# PeerTube CLI 1# PeerTube CLI
2 2
3See https://docs.joinpeertube.org/maintain-tools?id=remote-tools 3See https://docs.joinpeertube.org/maintain/tools?id=remote-tools
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml
index 79417e34f..568a0ba0d 100644
--- a/support/doc/api/openapi.yaml
+++ b/support/doc/api/openapi.yaml
@@ -21,7 +21,7 @@ info:
21 - [Go](https://framagit.org/framasoft/peertube/clients/go) 21 - [Go](https://framagit.org/framasoft/peertube/clients/go)
22 - [Kotlin](https://framagit.org/framasoft/peertube/clients/kotlin) 22 - [Kotlin](https://framagit.org/framasoft/peertube/clients/kotlin)
23 23
24 See the [REST API quick start](https://docs.joinpeertube.org/api-rest-getting-started) for a few 24 See the [REST API quick start](https://docs.joinpeertube.org/api/rest-getting-started) for a few
25 examples of using the PeerTube API. 25 examples of using the PeerTube API.
26 26
27 # Authentication 27 # Authentication
@@ -33,7 +33,7 @@ info:
33 ## Roles 33 ## Roles
34 34
35 Accounts are given permissions based on their role. There are three roles on 35 Accounts are given permissions based on their role. There are three roles on
36 PeerTube: Administrator, Moderator, and User. See the [roles guide](https://docs.joinpeertube.org/admin-managing-users?id=roles) for a detail of their permissions. 36 PeerTube: Administrator, Moderator, and User. See the [roles guide](https://docs.joinpeertube.org/admin/managing-users?id=roles) for a detail of their permissions.
37 37
38 # Errors 38 # Errors
39 39
@@ -46,7 +46,7 @@ info:
46 46
47 { 47 {
48 "detail": "Video not found", 48 "detail": "Video not found",
49 "docs": "https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo", 49 "docs": "https://docs.joinpeertube.org/api/rest-reference.html#operation/getVideo",
50 "status": 404, 50 "status": 404,
51 "title": "Not Found", 51 "title": "Not Found",
52 "type": "about:blank" 52 "type": "about:blank"
@@ -63,10 +63,10 @@ info:
63 63
64 { 64 {
65 "detail": "Cannot get this video regarding follow constraints", 65 "detail": "Cannot get this video regarding follow constraints",
66 "docs": "https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo", 66 "docs": "https://docs.joinpeertube.org/api/rest-reference.html#operation/getVideo",
67 "status": 403, 67 "status": 403,
68 "title": "Forbidden", 68 "title": "Forbidden",
69 "type": "https://docs.joinpeertube.org/api-rest-reference.html#section/Errors/does_not_respect_follow_constraints" 69 "type": "https://docs.joinpeertube.org/api/rest-reference.html#section/Errors/does_not_respect_follow_constraints"
70 } 70 }
71 ``` 71 ```
72 72
@@ -84,7 +84,7 @@ info:
84 84
85 { 85 {
86 "detail": "Incorrect request parameters: id", 86 "detail": "Incorrect request parameters: id",
87 "docs": "https://docs.joinpeertube.org/api-rest-reference.html#operation/getVideo", 87 "docs": "https://docs.joinpeertube.org/api/rest-reference.html#operation/getVideo",
88 "instance": "/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180", 88 "instance": "/api/v1/videos/9c9de5e8-0a1e-484a-b099-e80766180",
89 "invalid-params": { 89 "invalid-params": {
90 "id": { 90 "id": {
@@ -149,7 +149,7 @@ info:
149 149
150 In addition, all routes serving ActivityPub are CORS-enabled for all origins. 150 In addition, all routes serving ActivityPub are CORS-enabled for all origins.
151externalDocs: 151externalDocs:
152 url: https://docs.joinpeertube.org/api-rest-reference.html 152 url: https://docs.joinpeertube.org/api/rest-reference.html
153tags: 153tags:
154 - name: Register 154 - name: Register
155 description: | 155 description: |
@@ -204,7 +204,7 @@ tags:
204 information across its social graph by posting activities to actors' inbox 204 information across its social graph by posting activities to actors' inbox
205 endpoints. 205 endpoints.
206 externalDocs: 206 externalDocs:
207 url: https://docs.joinpeertube.org/admin-following-instances?id=instances-follows 207 url: https://docs.joinpeertube.org/admin/following-instances?id=instances-follows
208 - name: Instance Redundancy 208 - name: Instance Redundancy
209 description: > 209 description: >
210 Redundancy is part of the inter-server solidarity that PeerTube fosters. 210 Redundancy is part of the inter-server solidarity that PeerTube fosters.
@@ -212,12 +212,12 @@ tags:
212 to the policy of video selection of your choice. Note that you have a similar functionality 212 to the policy of video selection of your choice. Note that you have a similar functionality
213 to mirror individual videos, see [video mirroring](#tag/Video-Mirroring). 213 to mirror individual videos, see [video mirroring](#tag/Video-Mirroring).
214 externalDocs: 214 externalDocs:
215 url: https://docs.joinpeertube.org/admin-following-instances?id=instances-redundancy 215 url: https://docs.joinpeertube.org/admin/following-instances?id=instances-redundancy
216 - name: Plugins 216 - name: Plugins
217 description: > 217 description: >
218 Managing plugins installed from a local path or from NPM, or search for new ones. 218 Managing plugins installed from a local path or from NPM, or search for new ones.
219 externalDocs: 219 externalDocs:
220 url: https://docs.joinpeertube.org/api-plugins 220 url: https://docs.joinpeertube.org/api/plugins
221 - name: Abuses 221 - name: Abuses
222 description: | 222 description: |
223 Abuses deal with reports of local or remote videos/comments/accounts alike. 223 Abuses deal with reports of local or remote videos/comments/accounts alike.
@@ -5933,7 +5933,7 @@ components:
5933 Note that the __access token is valid for 1 day__ and is given 5933 Note that the __access token is valid for 1 day__ and is given
5934 along with a __refresh token valid for 2 weeks__. 5934 along with a __refresh token valid for 2 weeks__.
5935 5935
5936 [Generate]: https://docs.joinpeertube.org/api-rest-getting-started 5936 [Generate]: https://docs.joinpeertube.org/api/rest-getting-started
5937 type: oauth2 5937 type: oauth2
5938 flows: 5938 flows:
5939 password: 5939 password:
diff --git a/support/doc/docker.md b/support/doc/docker.md
index 6fc443c8e..5e018e486 100644
--- a/support/doc/docker.md
+++ b/support/doc/docker.md
@@ -119,11 +119,11 @@ peertube._domainkey.mydomain.tld. IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
119 119
120#### Administrator password 120#### Administrator password
121 121
122See the production guide ["Administrator" section](https://docs.joinpeertube.org/install-any-os?id=technologist-administrator) 122See the production guide ["Administrator" section](https://docs.joinpeertube.org/install/any-os?id=technologist-administrator)
123 123
124#### What now? 124#### What now?
125 125
126See the production guide ["What now" section](https://docs.joinpeertube.org/install-any-os?id=tada-what-now). 126See the production guide ["What now" section](https://docs.joinpeertube.org/install/any-os?id=tada-what-now).
127 127
128## Upgrade 128## Upgrade
129 129
diff --git a/support/doc/plugins/guide.md b/support/doc/plugins/guide.md
index f82dbd15b..2cc544f1c 100644
--- a/support/doc/plugins/guide.md
+++ b/support/doc/plugins/guide.md
@@ -585,7 +585,7 @@ async function register ({
585} 585}
586``` 586```
587 587
588See the [plugin API reference](https://docs.joinpeertube.org/api-plugins) to see the complete helpers list. 588See the [plugin API reference](https://docs.joinpeertube.org/api/plugins) to see the complete helpers list.
589 589
590### Client API (themes & plugins) 590### Client API (themes & plugins)
591 591
@@ -839,7 +839,7 @@ PeerTube provides some selectors (using `id` HTML attribute) on important blocks
839 839
840For example `#plugin-selector-login-form` could be used to hide the login form. 840For example `#plugin-selector-login-form` could be used to hide the login form.
841 841
842See the complete list on https://docs.joinpeertube.org/api-plugins 842See the complete list on https://docs.joinpeertube.org/api/plugins
843 843
844#### HTML placeholder elements 844#### HTML placeholder elements
845 845
@@ -855,7 +855,7 @@ async function register (...) {
855} 855}
856``` 856```
857 857
858See the complete list on https://docs.joinpeertube.org/api-plugins 858See the complete list on https://docs.joinpeertube.org/api/plugins
859 859
860#### Add/remove left menu links 860#### Add/remove left menu links
861 861
@@ -1140,7 +1140,7 @@ $ npm deprecate peertube-plugin-xxx@"> 0.0.0" "explain here why you deprecate yo
1140 1140
1141## Plugin & Theme hooks/helpers API 1141## Plugin & Theme hooks/helpers API
1142 1142
1143See the dedicated documentation: https://docs.joinpeertube.org/api-plugins 1143See the dedicated documentation: https://docs.joinpeertube.org/api/plugins
1144 1144
1145 1145
1146## Tips 1146## Tips
diff --git a/support/doc/production.md b/support/doc/production.md
index 3a71a1a80..7ea313e7d 100644
--- a/support/doc/production.md
+++ b/support/doc/production.md
@@ -125,7 +125,7 @@ Then edit the `config/production.yaml` file according to your webserver and data
125 125
126Keys defined in `config/production.yaml` will override keys defined in `config/default.yaml`. 126Keys defined in `config/production.yaml` will override keys defined in `config/default.yaml`.
127 127
128**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. 128**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.
129 129
130### :truck: Webserver 130### :truck: Webserver
131 131
diff --git a/support/openapi/go/README.mustache b/support/openapi/go/README.mustache
index d0fc0fa33..d58657b5b 100644
--- a/support/openapi/go/README.mustache
+++ b/support/openapi/go/README.mustache
@@ -1,6 +1,6 @@
1# Go API client for {{appName}} 1# Go API client for {{appName}}
2 2
3This Python package is automatically generated from [PeerTube's REST API](https://docs.joinpeertube.org/api-rest-reference.html), 3This Python package is automatically generated from [PeerTube's REST API](https://docs.joinpeertube.org/api/rest-reference.html),
4using the [OpenAPI Generator](https://openapi-generator.tech) project: 4using the [OpenAPI Generator](https://openapi-generator.tech) project:
5 5
6- API version: {{appVersion}} 6- API version: {{appVersion}}
diff --git a/support/openapi/python/README.mustache b/support/openapi/python/README.mustache
index 93dcd5ab6..de41970e8 100644
--- a/support/openapi/python/README.mustache
+++ b/support/openapi/python/README.mustache
@@ -1,6 +1,6 @@
1# Python API client for {{appName}} 1# Python API client for {{appName}}
2 2
3This Python package is automatically generated from [PeerTube's REST API](https://docs.joinpeertube.org/api-rest-reference.html), 3This Python package is automatically generated from [PeerTube's REST API](https://docs.joinpeertube.org/api/rest-reference.html),
4using the [OpenAPI Generator](https://openapi-generator.tech) project: 4using the [OpenAPI Generator](https://openapi-generator.tech) project:
5 5
6- API version: {{appVersion}} 6- API version: {{appVersion}}