diff options
Diffstat (limited to 'support')
-rw-r--r-- | support/doc/api/openapi.yaml | 11 | ||||
-rw-r--r-- | support/doc/api/quickstart.md | 10 | ||||
-rw-r--r-- | support/doc/docker.md | 3 | ||||
-rw-r--r-- | support/doc/production.md | 2 | ||||
-rw-r--r-- | support/doc/tools.md | 32 | ||||
-rw-r--r-- | support/openapi/go.yaml | 3 | ||||
-rw-r--r-- | support/openapi/kotlin.yaml | 6 | ||||
-rw-r--r-- | support/openapi/python.yaml | 5 |
8 files changed, 67 insertions, 5 deletions
diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index f1cfb81a4..40f7e0cdd 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml | |||
@@ -13,6 +13,7 @@ info: | |||
13 | altText: PeerTube Project Homepage | 13 | altText: PeerTube Project Homepage |
14 | description: | | 14 | description: | |
15 | # Introduction | 15 | # Introduction |
16 | |||
16 | The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable | 17 | The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable |
17 | resource URLs. It returns HTTP response codes to indicate errors. It also | 18 | resource URLs. It returns HTTP response codes to indicate errors. It also |
18 | accepts and returns JSON in the HTTP body. You can use your favorite | 19 | accepts and returns JSON in the HTTP body. You can use your favorite |
@@ -22,11 +23,13 @@ info: | |||
22 | which generates a client SDK in the language of your choice. | 23 | which generates a client SDK in the language of your choice. |
23 | 24 | ||
24 | # Authentication | 25 | # Authentication |
26 | |||
25 | When you sign up for an account, you are given the possibility to generate | 27 | When you sign up for an account, you are given the possibility to generate |
26 | sessions, and authenticate using this session token. One session token can | 28 | sessions, and authenticate using this session token. One session token can |
27 | currently be used at a time. | 29 | currently be used at a time. |
28 | 30 | ||
29 | # Errors | 31 | # Errors |
32 | |||
30 | The API uses standard HTTP status codes to indicate the success or failure | 33 | The API uses standard HTTP status codes to indicate the success or failure |
31 | of the API call. The body of the response will be JSON in the following | 34 | of the API call. The body of the response will be JSON in the following |
32 | format. | 35 | format. |
@@ -977,6 +980,12 @@ paths: | |||
977 | application/json: | 980 | application/json: |
978 | schema: | 981 | schema: |
979 | $ref: '#/components/schemas/VideoUploadResponse' | 982 | $ref: '#/components/schemas/VideoUploadResponse' |
983 | '403': | ||
984 | description: 'The user video quota is exceeded with this video.' | ||
985 | '408': | ||
986 | description: 'Upload has timed out' | ||
987 | '422': | ||
988 | description: 'Invalid input file.' | ||
980 | requestBody: | 989 | requestBody: |
981 | content: | 990 | content: |
982 | multipart/form-data: | 991 | multipart/form-data: |
@@ -2772,7 +2781,7 @@ components: | |||
2772 | description: 'The user username ' | 2781 | description: 'The user username ' |
2773 | password: | 2782 | password: |
2774 | type: string | 2783 | type: string |
2775 | description: 'The user password ' | 2784 | description: 'The user password. If the smtp server is configured, you can leave empty and an email will be sent ' |
2776 | email: | 2785 | email: |
2777 | type: string | 2786 | type: string |
2778 | description: 'The user email ' | 2787 | description: 'The user email ' |
diff --git a/support/doc/api/quickstart.md b/support/doc/api/quickstart.md index 2222be741..677745969 100644 --- a/support/doc/api/quickstart.md +++ b/support/doc/api/quickstart.md | |||
@@ -52,3 +52,13 @@ $ curl -H 'Authorization: Bearer 90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0' https | |||
52 | ```bash | 52 | ```bash |
53 | $ curl https://peertube.example.com/api/v1/videos | 53 | $ curl https://peertube.example.com/api/v1/videos |
54 | ``` | 54 | ``` |
55 | |||
56 | ## Libraries | ||
57 | |||
58 | [Convenience libraries](https://framagit.org/framasoft/peertube/clients) are generated automatically from the [OpenAPI specification](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/openapi.yaml) for the following languages: | ||
59 | |||
60 | - [python](https://framagit.org/framasoft/peertube/clients/python) | ||
61 | - [go](https://framagit.org/framasoft/peertube/clients/go) | ||
62 | - [kotlin](https://framagit.org/framasoft/peertube/clients/kotlin) | ||
63 | |||
64 | Other [languages supported by the OpenAPI generator](https://openapi-generator.tech/docs/generators/#client-generators) can be added to the generation, provided they make a common enough use case. | ||
diff --git a/support/doc/docker.md b/support/doc/docker.md index d7059d285..b251329d0 100644 --- a/support/doc/docker.md +++ b/support/doc/docker.md | |||
@@ -21,8 +21,7 @@ $ curl "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/doc | |||
21 | $ touch ./docker-volume/traefik/acme.json && chmod 600 ./docker-volume/traefik/acme.json | 21 | $ touch ./docker-volume/traefik/acme.json && chmod 600 ./docker-volume/traefik/acme.json |
22 | $ curl -s "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml" -o docker-compose.yml "https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env" -o .env | 22 | $ curl -s "https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml" -o docker-compose.yml "https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env" -o .env |
23 | ``` | 23 | ``` |
24 | View the source of the files you're about to download: [docker-compose.yml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml) and the [traefik.toml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/traefik.toml) and the [.env] | 24 | View the source of the files you're about to download: [docker-compose.yml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml) and the [traefik.toml](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/config/traefik.toml) and the [.env](https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env) |
25 | (https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/.env) | ||
26 | 25 | ||
27 | Update the reverse proxy configuration: | 26 | Update the reverse proxy configuration: |
28 | 27 | ||
diff --git a/support/doc/production.md b/support/doc/production.md index 8f061f868..6febaba5d 100644 --- a/support/doc/production.md +++ b/support/doc/production.md | |||
@@ -39,7 +39,7 @@ Create the production database and a peertube user inside PostgreSQL: | |||
39 | 39 | ||
40 | ``` | 40 | ``` |
41 | $ sudo -u postgres createuser -P peertube | 41 | $ sudo -u postgres createuser -P peertube |
42 | $ sudo -u postgres createdb -O peertube peertube_prod | 42 | $ sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod |
43 | ``` | 43 | ``` |
44 | 44 | ||
45 | Then enable extensions PeerTube needs: | 45 | Then enable extensions PeerTube needs: |
diff --git a/support/doc/tools.md b/support/doc/tools.md index d5427b5b7..1f1e52c36 100644 --- a/support/doc/tools.md +++ b/support/doc/tools.md | |||
@@ -12,6 +12,7 @@ | |||
12 | - [peertube-upload.js](#peertube-uploadjs) | 12 | - [peertube-upload.js](#peertube-uploadjs) |
13 | - [peertube-watch.js](#peertube-watchjs) | 13 | - [peertube-watch.js](#peertube-watchjs) |
14 | - [peertube-plugins.js](#peertube-pluginsjs) | 14 | - [peertube-plugins.js](#peertube-pluginsjs) |
15 | - [peertube-redundancy.js](#peertube-redundancyjs) | ||
15 | - [Server tools](#server-tools) | 16 | - [Server tools](#server-tools) |
16 | - [parse-log](#parse-log) | 17 | - [parse-log](#parse-log) |
17 | - [create-transcoding-job.js](#create-transcoding-jobjs) | 18 | - [create-transcoding-job.js](#create-transcoding-jobjs) |
@@ -77,7 +78,8 @@ You can access it as `peertube` via an alias in your `.bashrc` like `alias peert | |||
77 | import-videos|import import a video from a streaming platform | 78 | import-videos|import import a video from a streaming platform |
78 | watch|w watch a video in the terminal ✩°。⋆ | 79 | watch|w watch a video in the terminal ✩°。⋆ |
79 | repl initiate a REPL to access internals | 80 | repl initiate a REPL to access internals |
80 | plugins|p [action] manag instance plugins | 81 | plugins|p [action] manage instance plugins |
82 | redundancy|r [action] manage video redundancies | ||
81 | help [cmd] display help for [cmd] | 83 | help [cmd] display help for [cmd] |
82 | ``` | 84 | ``` |
83 | 85 | ||
@@ -200,6 +202,34 @@ $ node dist/server/tools/peertube-plugins.js install --path /my/plugin/path | |||
200 | $ node dist/server/tools/peertube-plugins.js install --npm-name peertube-theme-example | 202 | $ node dist/server/tools/peertube-plugins.js install --npm-name peertube-theme-example |
201 | ``` | 203 | ``` |
202 | 204 | ||
205 | #### peertube-redundancy.js | ||
206 | |||
207 | Manage (list/add/remove) video redundancies: | ||
208 | |||
209 | To list your videos that are duplicated by remote instances: | ||
210 | |||
211 | ``` | ||
212 | $ node dist/server/tools/peertube.js redundancy list-remote-redundancies | ||
213 | ``` | ||
214 | |||
215 | To list remote videos that your instance duplicated: | ||
216 | |||
217 | ``` | ||
218 | $ node dist/server/tools/peertube.js redundancy list-my-redundancies | ||
219 | ``` | ||
220 | |||
221 | To duplicate a specific video in your redundancy system: | ||
222 | |||
223 | ``` | ||
224 | $ node dist/server/tools/peertube.js redundancy add --video 823 | ||
225 | ``` | ||
226 | |||
227 | To remove a video redundancy: | ||
228 | |||
229 | ``` | ||
230 | $ node dist/server/tools/peertube.js redundancy remove --video 823 | ||
231 | ``` | ||
232 | |||
203 | ## Server tools | 233 | ## Server tools |
204 | 234 | ||
205 | These scripts should be run on the server, in `peertube-latest` directory. | 235 | These scripts should be run on the server, in `peertube-latest` directory. |
diff --git a/support/openapi/go.yaml b/support/openapi/go.yaml new file mode 100644 index 000000000..7136da912 --- /dev/null +++ b/support/openapi/go.yaml | |||
@@ -0,0 +1,3 @@ | |||
1 | # https://openapi-generator.tech/docs/generators/go | ||
2 | |||
3 | packageName: peertube | ||
diff --git a/support/openapi/kotlin.yaml b/support/openapi/kotlin.yaml new file mode 100644 index 000000000..7a01ae6e5 --- /dev/null +++ b/support/openapi/kotlin.yaml | |||
@@ -0,0 +1,6 @@ | |||
1 | # https://openapi-generator.tech/docs/generators/kotlin | ||
2 | |||
3 | artifactId: peertube-api | ||
4 | groupId: org.peertube | ||
5 | packageName: org.peertube.client | ||
6 | |||
diff --git a/support/openapi/python.yaml b/support/openapi/python.yaml new file mode 100644 index 000000000..819a466eb --- /dev/null +++ b/support/openapi/python.yaml | |||
@@ -0,0 +1,5 @@ | |||
1 | # https://openapi-generator.tech/docs/generators/python | ||
2 | |||
3 | packageName: peertube | ||
4 | projectName: peertube | ||
5 | |||