Commit Graph

776 Commits (ae9809a7d021fcaf01ee482a9c6c59fdd50125a6)

Author SHA1 Message Date
Rigel Kent a4ce422305
fix route prefix for video redundancy routes in openapi spec
closes #4090
2021-05-13 14:18:02 +02:00
Rigel Kent b036eb057e
more faithful error description in openapi spec 2021-05-13 14:10:11 +02:00
Rigel Kent e2464d22a5
add login/logout routes in openapi spec 2021-05-12 21:49:00 +02:00
Rigel Kent 0ae3ebb03e
add cors section in openapi spec 2021-05-12 21:21:52 +02:00
Rigel Kent c00100b607
fix video playlistId/videoId for video playlists in openapi spec
closes #4081
2021-05-12 14:33:19 +02:00
Rigel Kent 9a320a06b6
add response content for createVideoChannel endpoint in openapi spec
closes #4077
2021-05-12 13:44:40 +02:00
Rigel Kent 4c440cedcc
add rating field for video like endpoint in openapi spec
closes #4080
2021-05-11 21:44:32 +02:00
Rigel Kent 77b0c6b58f
add missing user update me fields in openapi spec 2021-05-11 21:38:33 +02:00
Rigel Kent bf3c3feafb
add missing video comment fields in openapi spec
closes #4079
2021-05-11 20:19:45 +02:00
Rigel Kent ac2a5b5427
factorized upload and import post fields in openapi spec
closes #4075
2021-05-11 10:07:43 +02:00
Chocobozzz 462212107a
Bumped to version v3.2.0-rc.1 2021-05-11 09:05:52 +02:00
Chocobozzz d795b76c44
Fix nginx config 2021-05-11 08:42:13 +02:00
Rigel Kent 2c4876f215
added descriptions for video files/import fields in openapi spec 2021-05-11 01:50:42 +02:00
Rigel Kent de3876b815
explicit error formatting variant in openapi spec 2021-05-11 01:50:42 +02:00
Rigel Kent b8375da931
provide more schema examples in openapi spec 2021-05-11 01:50:42 +02:00
Chocobozzz bb8f371d37
Add monitoring dev doc 2021-05-10 19:02:25 +02:00
Chocobozzz d61515e12a
Add doc to unpublish a plugin 2021-05-10 18:35:38 +02:00
Chocobozzz f2b5aa590e
Update nginx config for resumable upload 2021-05-10 15:27:29 +02:00
Rigel Kent 045bcd0d18
refactor subscriptions response from list to totalDataList in openapi spec
closes #4067
2021-05-10 14:43:44 +02:00
Rigel Kent 985ece5755
refactor abuses response list to totalDataList in openapi spec
closes #4066
2021-05-10 14:26:21 +02:00
Rigel Kent 40cfb36b9d
specify operationId in openapi spec and factorize videoconstant ids 2021-05-10 14:17:35 +02:00
Rigel Kent fd5586b337
specify getUserId variant in openapi spec
closes #4062
2021-05-10 12:01:49 +02:00
Rigel Kent 6bd7f09781
secify username patterns for user create/register in openapi spec
closes #4061
2021-05-10 11:27:35 +02:00
Rigel Kent 5844dde3b8
fix imports list response in openapi spec
closes #4063
2021-05-10 11:27:35 +02:00
Rigel Kent 30b40713f4
fix response in openapi spec for quota and video ratings
closes #4064
closes #4065
2021-05-10 11:27:35 +02:00
kontrollanten f6d6e7f861
Resumable video uploads (#3933)
* WIP: resumable video uploads

relates to #324

* fix review comments

* video upload: error handling

* fix audio upload

* fixes after self review

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/middlewares/validators/videos/videos.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* Update server/controllers/api/videos/index.ts

Co-authored-by: Rigel Kent <par@rigelk.eu>

* update after code review

* refactor upload route

- restore multipart upload route
- move resumable to dedicated upload-resumable route
- move checks to middleware
- do not leak internal fs structure in response

* fix yarn.lock upon rebase

* factorize addVideo for reuse in both endpoints

* add resumable upload API to openapi spec

* add initial test and test helper for resumable upload

* typings for videoAddResumable middleware

* avoid including aws and google packages via node-uploadx, by only including uploadx/core

* rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio

* add video-upload-tmp-folder-cleaner job

* stronger typing of video upload middleware

* reduce dependency to @uploadx/core

* add audio upload test

* refactor resumable uploads cleanup from job to scheduler

* refactor resumable uploads scheduler to compare to last execution time

* make resumable upload validator to always cleanup on failure

* move legacy upload request building outside of uploadVideo test helper

* filter upload-resumable middlewares down to POST, PUT, DELETE

also begin to type metadata

* merge add duration functions

* stronger typings and documentation for uploadx behaviour, move init validator up

* refactor(client/video-edit): options > uploadxOptions

* refactor(client/video-edit): remove obsolete else

* scheduler/remove-dangling-resum: rename tag

* refactor(server/video): add UploadVideoFiles type

* refactor(mw/validators): restructure eslint disable

* refactor(mw/validators/videos): rename import

* refactor(client/vid-upload): rename html elem id

* refactor(sched/remove-dangl): move fn to method

* refactor(mw/async): add method typing

* refactor(mw/vali/video): double quote > single

* refactor(server/upload-resum): express use > all

* proper http methud enum server/middlewares/async.ts

* properly type http methods

* factorize common video upload validation steps

* add check for maximum partially uploaded file size

* fix audioBg use

* fix extname(filename) in addVideo

* document parameters for uploadx's resumable protocol

* clear META files in scheduler

* last audio refactor before cramming preview in the initial POST form data

* refactor as mulitpart/form-data initial post request

this allows preview/thumbnail uploads alongside the initial request,
and cleans up the upload form

* Add more tests for resumable uploads

* Refactor remove dangling resumable uploads

* Prepare changelog

* Add more resumable upload tests

* Remove user quota check for resumable uploads

* Fix upload error handler

* Update nginx template for upload-resumable

* Cleanup comment

* Remove unused express methods

* Prefer to use got instead of raw http

* Don't retry on error 500

Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-05-10 11:13:41 +02:00
Rigel Kent 52fe952642
relax guarantee on openapi rate limit doc accuracy 2021-05-07 09:52:36 +02:00
decentral1se aa7d2da45b Add curl as dependency to allow for healthchecks
Closes https://github.com/Chocobozzz/PeerTube/issues/4045.
2021-05-07 09:03:10 +02:00
Rigel Kent 64df4b65ae
add subscriptions feed api to openapi spec 2021-05-07 02:15:02 +02:00
Rigel Kent 3c5e02f38f
add rate limit table to openapi spec 2021-05-07 01:40:21 +02:00
Philo van Kemenade ddc7d3ece5
add possible OSX/postgres message to dependencies documentation (#4051) 2021-05-06 18:55:25 +02:00
Chocobozzz b31d72625d
Plugin user.getAuthUser is now async
So we can load the full user
2021-05-05 15:26:28 +02:00
Rigel Kent 0c1145687b
add examples and descriptions to some video fields in openapi spec 2021-05-04 11:20:58 +02:00
Rigel Kent f880a5e704
factorize uuid type in openapi spec 2021-05-04 10:44:33 +02:00
Rigel Kent 4ca669e361
make streaming playlists pivotable objects in openapi spec 2021-05-04 10:25:09 +02:00
Rigel Kent c540d8654f
make hls/webtorrent fields closely documented in the openapi spec 2021-05-04 09:13:24 +02:00
Chocobozzz 1fd61899ea
Add ability to filter my videos by live 2021-05-03 16:42:15 +02:00
Rigel Kent dfcb6f50a6
add description with operation link to category/licence/language constants 2021-05-03 14:34:46 +02:00
Rigel Kent 4302058c4d
fix video channel parameters limit in openapi spec 2021-05-03 14:14:45 +02:00
Rigel Kent bdac05840d
fix name limit for video in openapi spec 2021-05-03 12:17:30 +02:00
Rigel Kent b5fdfcbd89
fix FAQ link in production guide 2021-05-01 15:43:28 +02:00
Chocobozzz 6d8e1f28e3
Set permissions in production.md 2021-04-27 09:37:49 +02:00
Chocobozzz 248875d243
Fix plugins doc 2021-04-27 09:28:05 +02:00
Chocobozzz 0f31933406
Add ability to hide plugin form fields 2021-04-22 14:35:49 +02:00
Chocobozzz 87e0b71d36
Add go-live example for plugin form fields 2021-04-22 12:00:23 +02:00
Chocobozzz 096231d00e
Add auth header in plugins guide 2021-04-22 11:43:03 +02:00
Chocobozzz 302eba0d89
Add data directory for plugins and some helpers 2021-04-22 10:55:28 +02:00
Chocobozzz 67baf6478a
Allow plugins to set short translation locale 2021-04-20 16:14:09 +02:00
Thomas e81af3000f Update VideoFile structure in the API doc
Explain the difference between the 4 URL fields in the VideoFile structure.
2021-04-13 23:31:51 +02:00
Chocobozzz cb6a78c291
Improve docker tools doc 2021-04-13 08:29:03 +02:00
Chocobozzz b044cb188d
Fix plugins example color 2021-04-12 11:24:01 +02:00
Chocobozzz 62bc0352d9
Add plugin placeholder elements support 2021-04-12 11:19:15 +02:00
Chocobozzz a60696ab18 Add scale filter to documentation 2021-04-09 15:53:18 +02:00
Chocobozzz 3e03b961b8 Add ability for plugins to specify scale filter 2021-04-09 15:53:18 +02:00
Théo Le Calvar d5fc35c24d improve documentation plugin-transcode
- add example of videoFilters
- add warning about videoFilters and inputOptions in live profile
2021-04-09 15:53:18 +02:00
Théo Le Calvar 5fb7cfbac5 add support for inputOptions in trancode plugins 2021-04-09 15:53:18 +02:00
Chocobozzz d2466f0ac9
Update plugins doc 2021-04-09 15:21:06 +02:00
Chocobozzz dc48fdbe68
Merge branch 'release/3.1.0' into develop 2021-04-08 15:16:01 +02:00
Chocobozzz 8004469c0a
Fix video channel list api 2021-04-08 14:53:03 +02:00
Chocobozzz 75cba40de7 Update avatar/banner API doc 2021-04-08 10:07:53 +02:00
Arthur Lutz 5328532adf [support/docker] expose webtorrent setting in os variable settings 2021-03-29 17:01:17 +02:00
Axel Viala 02d6226abc
update dependencies.md for macOSX (#3899)
add instructions regarding postgresql and bash user/version required for a proper MacOSX install of PeerTube

Co-authored-by: Rozen10 <58482276+Rozen10@users.noreply.github.com>
Co-authored-by: Rigel Kent <par@rigelk.eu>
2021-03-29 15:49:59 +02:00
Chocobozzz a786d8a08b
Merge branch 'release/3.1.0' into develop 2021-03-25 16:25:28 +01:00
Chocobozzz f6160062f8
Fix postgresql version 2021-03-25 16:25:14 +01:00
Chocobozzz ec99e8486a
Add server config helper in plugin guide 2021-03-24 18:18:41 +01:00
Chocobozzz ec9bd7f0ae
Directly use node in systemd service 2021-03-24 18:18:41 +01:00
Chocobozzz c2bd7a6fcf
Add regenrate thumbnails scripts 2021-03-24 18:18:41 +01:00
Chocobozzz 7992c9e1cb
Update yarn lock 2021-03-24 18:18:41 +01:00
Chocobozzz d007175238
Bumped to version v3.1.0 2021-03-24 18:18:40 +01:00
Chocobozzz 29553847dc
Bumped to version v3.1.0 2021-03-24 17:47:59 +01:00
Chocobozzz ada9762f81
Add build-essentials if architecture not supported
bcrypt needs to be built on arm64 for example
2021-03-05 10:18:19 +01:00
Chocobozzz 8726cd4941
Fix REST API doc 2021-03-04 16:16:37 +01:00
Chocobozzz 2c5eab14ba
Doc reword 2021-03-04 12:24:23 +01:00
philippe lhardy c11fc2d9de postgres creatuser password comment
user experience, usualy way is to hit enter whern no indication is given, so make it explicit.
2021-03-04 12:22:29 +01:00
Chocobozzz 4468e1e4f7
Bumped to version v3.1.0-rc.1 2021-03-04 10:54:29 +01:00
Chocobozzz 919b16ba30
Update changelog 2021-03-04 10:05:07 +01:00
Chocobozzz 7aca6b249a
Fix plugin api guide transcoding section 2021-03-03 17:21:40 +01:00
Pedro hates github.com c201278db0 unzip silently on production guide 2021-03-03 14:58:28 +01:00
Chocobozzz 8281cf00c0
Remove link to nginx tuning
It's not the purpose of this guide, try to not disperse
2021-02-23 08:38:47 +01:00
Janey Muñoz 3f8ae0e4e4 Add missing dependency to Debian / Ubuntu section
The "Production guide" states to use `wget` to download the latest version of the Peertube client, and it was not included in the `apt install` list
2021-02-19 09:14:18 +01:00
Chocobozzz 18ffaf2430
Remove traefik doc: we don't use it anymore 2021-02-12 10:18:24 +01:00
Chocobozzz 9817060fb7
Use new doc website links 2021-02-12 10:12:19 +01:00
Chocobozzz 6c7317a0a3
Fix nginx for small uploads 2021-02-12 10:04:18 +01:00
Chocobozzz c83af8f94a
Update tools doc 2021-02-11 15:56:54 +01:00
Gopherslol b9c9fefe82 Remove vips dependency from FreeBSD instructions 2021-02-09 23:50:15 +01:00
Gopherslol 80428d16a0 Add OpenBSD instructions to dependencies.md
First time making a pull request. Please let me know if I am doing this wrong
2021-02-09 08:48:38 +01:00
Chocobozzz f6446c948d
Add cron to debian dependencies
Just in case, needed by certbot
2021-02-08 15:44:18 +01:00
G4dter 08a9ee19e1 Update production.md 2021-02-08 15:43:20 +01:00
G4dter f35f23d87a Update production.md 2021-02-08 15:42:15 +01:00
Chocobozzz 9162476fe9
Support NodeJS 14 and 15, deprecate Node 10 2021-02-04 14:31:18 +01:00
Rigel Kent c9b369096d
exclude support for non-release external dependencies 2021-02-01 17:47:10 +01:00
Chocobozzz 6d989edc66
Add ability to update plugin auth 2021-02-01 15:39:13 +01:00
Rigel Kent e01146559a
fix nginx units 2021-01-31 22:17:37 +01:00
Chocobozzz 789951460b
Try to support other codecs 2021-01-29 14:05:41 +01:00
Chocobozzz 2498aaead1
Add plugin transcoding profile guide 2021-01-29 14:05:41 +01:00
Rigel Kent a59db27090
take into account mime-encoding in nginx client_max_body_size
fixes #3656
2021-01-28 16:15:45 +01:00
Rigel Kent 923d3d5ad5 add test and openapi for hot sort parameter 2021-01-28 15:55:34 +01:00
Rigel Kent df7b786f09 add `proxy_ignore_client_abort` flag to Nginx conf
The `proxy_ignore_client_abort` flag specifies whether nginx will
monitor possible connection close while waiting for an upstream
server response. If an error occurs while sending a response, the
connection will be closed regardless of the flag, much like if
there were no nginx at all.

fixes #3484
2021-01-25 17:15:04 +01:00
Rigel Kent 111e6c1807
add routes to 2MB cap in nginx config
fixes #3611
2021-01-17 17:00:12 +01:00
Rigel Kent dbe3040e36 merge optional modules within standard ones in support/nginx/peertube 2021-01-13 09:17:13 +01:00
Timo Gurr d168661db3 Mention additional nginx modules required since (#3313)
5f59cf077f introduced requirements on additional nginx modules:

nginx: [emerg] "aio threads" is unsupported on this platform in /etc/nginx/sites-enabled/peertube:247
https://nginx.org/en/docs/http/ngx_http_core_module.html#aio

nginx: [emerg] unknown directive "deny" in /etc/nginx/sites-enabled/peertube:83
https://nginx.org/en/docs/http/ngx_http_access_module.html
2021-01-13 09:17:13 +01:00
Rigel Kent d8b34ee55b
Allow user to search through their watch history (#3576)
* allow user to search through their watch history

* add tests for search in watch history

* Update client/src/app/shared/shared-main/users/user-history.service.ts
2021-01-13 09:16:15 +01:00
Johan Fleury 12c1e38df2 feat: allow administrator to disable logging of ping requests 2021-01-13 09:14:43 +01:00
Rigel Kent b7085c7132 add support for 1440p (Quad HD/QHD/WQHD) videos 2021-01-13 09:14:09 +01:00
Chocobozzz feaf98d528 Remove docker images I can't maintain 2021-01-13 09:05:22 +01:00
Chocobozzz f930450a82
Clearer docker doc hierarchy 2021-01-12 09:40:05 +01:00
Chocobozzz 69e0e678be
Bumped to version v3.0.1 2021-01-12 08:25:29 +01:00
Chocobozzz d8658f0f81
Try to improve install doc 2021-01-11 10:09:24 +01:00
Chocobozzz 14d3bb9c53
Doc typo 2021-01-08 11:54:33 +01:00
Chocobozzz b826b33983
Fix docker upgrade doc 2021-01-08 11:51:55 +01:00
Chocobozzz a461418320
Support live port in docker compose 2021-01-07 11:18:47 +01:00
Chocobozzz c0605e6e08
Auto upgrade not only for minor versions 2021-01-07 11:15:16 +01:00
Chocobozzz feb0f99820
Use 127.0.0.1 for nginx proxy in prod doc
Because localhost could also target ipv6
2021-01-07 11:11:57 +01:00
Chocobozzz 94f2bbe90b
Fix docker webserver build 2021-01-07 09:06:21 +01:00
Chocobozzz e33f385dd5
Bumped to version v3.0.0 2021-01-07 08:26:11 +01:00
Chocobozzz 7cf88d098a
Use new doc links 2021-01-05 11:01:12 +01:00
Chocobozzz 0a0e0d082f
Fix docker nginx container if peertube restarts 2021-01-05 09:52:14 +01:00
Chocobozzz 4948dcdbeb
Add config.yaml copy info in doc 2021-01-04 10:29:08 +01:00
Chocobozzz afd4ee86dd
Remove traefik docker support 2020-12-30 17:06:21 +01:00
Chocobozzz 83d4aba676
Use develop doc for docker 2020-12-30 14:39:52 +01:00
Chocobozzz 505816fa10
Bumped to version v3.0.0-rc.1 2020-12-16 09:46:27 +01:00
Chocobozzz 8043befa38
Remove references to peertube-admin mailing list 2020-12-15 16:29:24 +01:00
Rigel Kent 040d6896a3
add display of logs matching any state 2020-12-13 19:27:25 +01:00
kontrollanten fffc7c0864
add info about hostname change (#3434)
Co-authored-by: Rigel Kent <par@rigelk.eu>
2020-12-11 23:48:48 +01:00
Rigel Kent f2eb23cd87
emit more specific status codes on video upload (#3423)
- reduce http status codes list to potentially useful codes
- convert more codes to typed ones
- factorize html generator for error responses
2020-12-08 21:16:10 +01:00
Chocobozzz c977fd3ec9
Try to improve tools doc 2020-12-08 12:00:58 +01:00
Agron 59bc5f7dc0
update install documentation toc to include Centos 8 (#3411) 2020-12-07 01:27:21 +01:00
Jan Keromnes ef62d58674 Fix PostreSQL initialization for Gitpod 2020-12-06 13:58:00 +01:00
Chocobozzz bb4ba6d94c
Add permanent live support 2020-12-03 15:21:16 +01:00
Rigel Kent d4132d3f56 more explicit error messages for file uploads 2020-12-03 10:15:49 +01:00
Jan Keromnes 387d041b7a
Trigger a Gitpod dev image rebuild (in order to get upstream's Node.js 12 upgrade) (#3388)
* Trigger a Gitpod dev image rebuild (in order to get upstream's Node.js 12 upgrade)

* Update Dockerfile
2020-12-02 11:03:03 +01:00
madmath03 972de8f111 Add input-password #3375 2020-11-30 14:49:44 +01:00
Arman 3520d38515
add My History API to openapi (#3363)
Co-authored-by: Rigel Kent <sendmemail@rigelk.eu>
Co-authored-by: Rigel Kent <par@rigelk.eu>
2020-11-26 00:27:59 +01:00
Rigel Kent b2aecc1ecb
factorize nginx websocket and per route limits 2020-11-23 10:03:48 +01:00
Rigel Kent 08d70fe606
export rtmp port in dockerfiles
follows #3341
2020-11-21 17:32:56 +01:00
Rigel Kent 64b5c2476a
remove outdated badges, add authorization to caption routes 2020-11-20 11:29:37 +01:00
Chocobozzz 0aa52e1707
Add ability to display all channel/account videos 2020-11-18 15:29:38 +01:00
Rigel Kent 11c449eb1e
remove nginx fd caching, add module requirements 2020-11-18 08:15:55 +01:00
Rigel Kent 901c36d5f4
fix internal redirection cycle whithin nginx client-override optimization 2020-11-17 11:40:14 +01:00
Rigel Kent 5f59cf077f
refresh nginx config and optimize delivery (#3313)
refactors the Nginx configuration for the following points:
- update tls version to include 1.3 by default. so far it was not included by default to make room for previous versions of Nginx, but since 2018 Debian stable has included Nginx in version 1.14.1, and tls 1.3 is available since Nginx 1.13.0.
- clearly indicate that new minimum required version.
- update outdated ssl_ciphers to remove cipher required to support android 4.4, since that version is unsupported since March 2020.
- reordered configuration in sections for easier maintenance: performance optimizations are separated from the vital application/websocket parts.
- move parts that always require manual configuration at the top: peertube host and server name, use server_name 
- move peertube host to a more flexible upstream block: it allows to configure it in one place instead of 3, and is future-proof regarding load-balancing.
- simplified port 80 block: Let’s Encrypt supports 301 redirects.
- group certificate-related config together.
- remove reslover config: it defaults to /etc/resolv.conf which is more than enough.
- align values with their neighbors for easier reading
- always specify units
- always specify default values when they differ from the values set
- use ’m’ for minutes, ’M’ for megabytes
- add consensual optimizations wrt file serving:
  - add timeout optimizations
  - add file descriptor cache optimizations
  - enable sendfile with chunk size > rate limit
  - enable threading
  - tcp optimizations
  - point to further, more system-specific optimizations in the section description
- CDN configuration reduced to one line change
2020-11-16 19:16:49 +01:00
Kimsible 8872828d59
add client overrides to nginx configuration (#3297)
Co-authored-by: Rigel Kent <par@rigelk.eu>
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-11-16 10:34:05 +01:00
Rigel Kent a30995fc27
consistent documentation and configuration in compose file 2020-11-11 16:45:46 +01:00
Rigel Kent b8f3e6b00b
move traefik to its own override file 2020-11-11 16:45:46 +01:00
Rigel Kent e604efcb71
Do not expose containers by default in traefik 2020-11-11 16:45:46 +01:00
Rigel Kent 1a9b141d83
Add nginx behind traefik in docker-compose + image updates
- support/docker/production/docker-compose.yml: addition of a nginx
image reusing support/nginx/peertube nginx conf to improve performance,
and lessen setup differences between the docker-compose install and the
typical production install.
- support/docker/production/docker-compose.yml: postgres 10 -> postgres
12, redis 4 -> redis 5. Postgres major updates implies manual upgrade.
- support/nginx/peertube: HTTP -> HTTPS redirection is now commented
by default, to allow its reuse in support/docker/production/docker-compose.yml.
2020-11-11 16:45:46 +01:00
Frank Sträter 8e98e6124d
fix link in dependencies version guide (#3288)
also fix rights elevation when automatically checking them
2020-11-11 15:40:40 +01:00
Rigel Kent 867ed6514d
move dependencies versions list to engines in package.json 2020-11-10 15:02:26 +01:00
Chocobozzz 4e239e3554 Add open api doc for live 2020-11-09 15:33:04 +01:00
Rigel Kent a4879b5375
add github PR template and late crowdfunding link 2020-11-07 21:14:42 +01:00
Arman cd372e840b Fix boolean types, add missing downloadEnabled 2020-09-22 08:19:37 +02:00