aboutsummaryrefslogtreecommitdiffhomepage
path: root/support
diff options
context:
space:
mode:
Diffstat (limited to 'support')
-rw-r--r--support/doc/api/openapi.yaml11
-rw-r--r--support/doc/api/quickstart.md10
-rw-r--r--support/doc/docker.md3
-rw-r--r--support/doc/production.md2
-rw-r--r--support/doc/tools.md32
-rw-r--r--support/openapi/go.yaml3
-rw-r--r--support/openapi/kotlin.yaml6
-rw-r--r--support/openapi/python.yaml5
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
64Other [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```
24View 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] 24View 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
27Update the reverse proxy configuration: 26Update 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
45Then enable extensions PeerTube needs: 45Then 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
207Manage (list/add/remove) video redundancies:
208
209To list your videos that are duplicated by remote instances:
210
211```
212$ node dist/server/tools/peertube.js redundancy list-remote-redundancies
213```
214
215To list remote videos that your instance duplicated:
216
217```
218$ node dist/server/tools/peertube.js redundancy list-my-redundancies
219```
220
221To duplicate a specific video in your redundancy system:
222
223```
224$ node dist/server/tools/peertube.js redundancy add --video 823
225```
226
227To 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
205These scripts should be run on the server, in `peertube-latest` directory. 235These 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
3packageName: 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
3artifactId: peertube-api
4groupId: org.peertube
5packageName: 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
3packageName: peertube
4projectName: peertube
5