Commit Graph

1053 Commits

Author SHA1 Message Date
Chocobozzz b1053a30f6
Add ability to use docker on local 2022-08-11 10:43:31 +02:00
Chocobozzz 87cd93970d
Add missing openapi 2022-08-10 14:57:26 +02:00
Chocobozzz a3b472a12e
Add ability to list imports of a channel sync 2022-08-10 14:32:00 +02:00
Florent 2a491182e4
Channel sync (#5135)
* Add external channel URL for channel update / creation (#754)

* Disallow synchronisation if user has no video quota (#754)

* More constraints serverside (#754)

* Disable sync if server configuration does not allow HTTP import (#754)

* Working version synchronizing videos with a job (#754)

TODO: refactoring, too much code duplication

* More logs and try/catch (#754)

* Fix eslint error (#754)

* WIP: support synchronization time change (#754)

* New frontend #754

* WIP: Create sync front (#754)

* Enhance UI, sync creation form (#754)

* Warning message when HTTP upload is disallowed

* More consistent names (#754)

* Binding Front with API (#754)

* Add a /me API (#754)

* Improve list UI (#754)

* Implement creation and deletion routes (#754)

* Lint (#754)

* Lint again (#754)

* WIP: UI for triggering import existing videos (#754)

* Implement jobs for syncing and importing channels

* Don't sync videos before sync creation + avoid concurrency issue (#754)

* Cleanup (#754)

* Cleanup: OpenAPI + API rework (#754)

* Remove dead code (#754)

* Eslint (#754)

* Revert the mess with whitespaces in constants.ts (#754)

* Some fixes after rebase (#754)

* Several fixes after PR remarks (#754)

* Front + API: Rename video-channels-sync to video-channel-syncs (#754)

* Allow enabling channel sync through UI (#754)

* getChannelInfo (#754)

* Minor fixes: openapi + model + sql (#754)

* Simplified API validators (#754)

* Rename MChannelSync to MChannelSyncChannel (#754)

* Add command for VideoChannelSync (#754)

* Use synchronization.enabled config (#754)

* Check parameters test + some fixes (#754)

* Fix conflict mistake (#754)

* Restrict access to video channel sync list API (#754)

* Start adding unit test for synchronization (#754)

* Continue testing (#754)

* Tests finished + convertion of job to scheduler (#754)

* Add lastSyncAt field (#754)

* Fix externalRemoteUrl sort + creation date not well formatted (#754)

* Small fix (#754)

* Factorize addYoutubeDLImport and buildVideo (#754)

* Check duplicates on channel not on users (#754)

* factorize thumbnail generation (#754)

* Fetch error should return status 400 (#754)

* Separate video-channel-import and video-channel-sync-latest (#754)

* Bump DB migration version after rebase (#754)

* Prettier states in UI table (#754)

* Add DefaultScope in VideoChannelSyncModel (#754)

* Fix audit logs (#754)

* Ensure user can upload when importing channel + minor fixes (#754)

* Mark synchronization as failed on exception + typos (#754)

* Change REST API for importing videos into channel (#754)

* Add option for fully synchronize a chnanel (#754)

* Return a whole sync object on creation to avoid tricks in Front (#754)

* Various remarks (#754)

* Single quotes by default (#754)

* Rename synchronization to video_channel_synchronization

* Add check.latest_videos_count and max_per_user options (#754)

* Better channel rendering in list #754

* Allow sorting with channel name and state (#754)

* Add missing tests for channel imports (#754)

* Prefer using a parent job for channel sync

* Styling

* Client styling

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-08-10 09:53:39 +02:00
Florent ed09acf14b document parallel depedency and how to install it
Also document how to install exiftool
2022-08-01 16:06:39 +02:00
Chocobozzz f9079a78bd
Add studio API documentation 2022-08-01 15:50:15 +02:00
Chocobozzz 12d84abeca
Include video file id in API 2022-07-29 11:33:27 +02:00
Chocobozzz a6c554fb6e
Remove redundant section 2022-07-20 15:56:51 +02:00
Chocobozzz 42b4063699
Add ability for client to create server logs 2022-07-18 11:37:18 +02:00
Chocobozzz b44b5a83eb
Add /server/stats API documentation 2022-07-12 14:17:37 +02:00
Chocobozzz 9452d4fd33
/!\ Use a dedicated config file for development
It means you have to replace NODE_ENV=test to NODE_ENV=dev if you use it
npm run dev:* commands are already updated
2022-07-06 16:12:17 +02:00
Chocobozzz 4c8336af67
Update embed URL query doc 2022-06-28 14:49:05 +02:00
slendermon 383dbdec67
Centos 8 (#5075)
* Centos 8

Centos 8

* Document

Document centos 8 fixing

* Document fix centos 8 

Bad spacing fix
2022-06-23 12:00:33 +02:00
kontrollanten 2e401e8575
store uploaded video filename (#4885)
* store uploaded video filename

closes #4731

* dont crash if videos channel exist

* migration: use raw query

* video source: fixes after code review

* cleanup

* bump migration

* updates after code review

* refactor: use checkUserCanManageVideo

* videoSource: add openapi doc

* test(check-params/video-source): fix timeout

* Styling

* Correctly set original filename as source

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-06-21 15:31:25 +02:00
J Webb dec4952155
Ensure peertube root directory is setup to be traversed by nginx (#5028)
* Update production.md

On Ubuntu 22.04, the dir `/var/www/peertube` is restricted to user peertube & group peertube. This causes issues with many of the subsequent sudo commands, and also results in white-screen on initial visit to the site due to JS files not being accessible. This PR loosens those requirements, but maybe would be better if nginx is just added to peertube group? This is my first time installing PeertTube, so I'll defer to someone with more knowledge of this framework to vet the approach here.

* Set specific mode on peertube root directory

* Minor fixup

* Prefer ls instead of chmod to check directory

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-06-21 14:40:53 +02:00
Chocobozzz 2b621ac0eb
Merge branch 'release/4.2.0' into develop 2022-06-21 09:03:20 +02:00
Chocobozzz 5b2ede7d55
Fix docker user entrypoint 2022-06-21 08:47:39 +02:00
John Livingston 7f6ff46222 Implement 5036: more readable diff on configuration file when upgrading. 2022-06-13 15:59:22 +02:00
dingycle ac30ddd739 fix(doc): fix links to 'anchors' in install doc 2022-06-10 11:15:19 +02:00
luz paz 7a4fd56ccd Fix various typos
Found via `codespell -q 3 -S ./CREDITS.md,./CHANGELOG.md,./client/src/locale,./yarn.lock,./client/yarn.lock -L doubleclick,followings,nd,ot,ro,serie,splitted,tread,truthy`
2022-06-07 16:41:21 +02:00
Florian CUNY c6f8ca4d65
Added "total views" in the my channels list (#5007)
* Added "total views" in the my channels list

Implements https://github.com/Chocobozzz/PeerTube/issues/4331

* Fix lint

* applied suggested change

* updated openAPI spec for the use "withStats" when getting video channels

* applied code change

* removed GROUP BY in query

* Fixed test
2022-05-31 16:01:11 +02:00
Chocobozzz c501cdef27
Add nginx update to changelog 2022-05-24 16:39:19 +02:00
Chocobozzz 09f33366a7
Add note about dev mode when testing a plugin 2022-05-23 09:09:31 +02:00
Chocobozzz 3e2b75ee26
Fix dependencies toc 2022-05-20 16:02:57 +02:00
Chocobozzz 60f013e103
Add control bar option for peertube player 2022-05-20 09:59:53 +02:00
Chocobozzz 49f0468d44
Add filter by start/end date overall stats in api 2022-05-05 14:13:14 +02:00
Chocobozzz f18a060a83
Remove comments, rates and views from stats
It prevent us to apply date filters
2022-05-05 13:47:51 +02:00
Chocobozzz 6348fb1884
Prefer using node instead of npm in dockerfile
We get bad error output with npm
2022-05-04 09:06:44 +02:00
Chocobozzz 26e3e98ff0
Support live session in server 2022-05-03 14:49:15 +02:00
Chocobozzz b0f3c7df13
Use node 16 in peertube docker image 2022-05-02 14:33:56 +02:00
Chocobozzz 961cbe4269
Fix getting live by anonymous user 2022-04-22 09:50:20 +02:00
Chocobozzz acc6a1cba7
Add missing video states to rest api doc 2022-04-19 08:57:24 +02:00
Chocobozzz d09ed46e71
Improve videos sort documentation 2022-04-15 14:50:09 +02:00
Chocobozzz bfbdfc584a Add event doc to view endpoint 2022-04-15 09:49:35 +02:00
Chocobozzz cf158e7e24 Update open api routes 2022-04-15 09:49:35 +02:00
Chocobozzz 92e66e04f7
Rename studio to editor 2022-03-22 17:24:32 +01:00
Chocobozzz b4a4bcd20e
Remove invalid info from REST API doc 2022-03-21 08:43:15 +01:00
Chocobozzz 5357ce9347
Support edition upload in nginx 2022-03-18 16:31:30 +01:00
Doug Luce f9915efa5e Make object storage ACL configurable
Override this value to allow uploads to non-public S3
buckets. Otherwise "AccessDenied: Access Denied" errors will end up in
the log.

Fixes #4850
2022-03-16 10:58:01 +01:00
Chocobozzz f443a74649 Add latency setting support 2022-03-09 09:23:10 +01:00
Chocobozzz fc10ecf167
Add info about admin username in doc 2022-03-08 11:44:03 +01:00
Chocobozzz 7b51ede977
Merge branch 'release/4.1.0' into develop 2022-03-08 11:28:32 +01:00
Chocobozzz 0c058f256a
Remove exif tags when processing images 2022-03-07 17:23:12 +01:00
Chocobozzz 2c7d736bd3
Install git in docker image
Can be needed to install plugins
2022-03-07 13:39:50 +01:00
Chocobozzz 219e18c944
Reuse latest dockerfile fixes 2022-03-04 16:49:20 +01:00
Chocobozzz 1087427616
Improve benchmark script CLI options 2022-02-28 15:19:44 +01:00
LecygneNoir 0ff01f837b Install python3 instead of global python
python virtual package uses python-is-python2 so install python2 instead of python3, we need to explicitly use python3 for PeerTube tools (especially ytp-dl)
2022-02-28 11:03:44 +01:00
Chocobozzz a24bf4dc65 Try to fix ARM docker builds 2022-02-28 10:42:19 +01:00
kontrollanten d0800f7661
Implement avatar miniatures (#4639)
* client: remove unused file

* refactor(client/my-actor-avatar): size from input

Read size from component input instead of scss, to make it possible to
use smaller avatar images when implemented.

* implement avatar miniatures

close #4560

* fix(test): max file size

* fix(search-index): normalize res acc to avatarMini

* refactor avatars to an array

* client/search: resize channel avatar to 120

* refactor(client/videos): remove unused function

* client(actor-avatar): set default size

* fix tests and avatars full result

When findOne is used only an array containting one avatar is returned.

* update migration version and version notations

* server/search: harmonize normalizing

* Cleanup avatar miniature PR

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-02-28 08:34:43 +01:00
Chocobozzz b25fdc73fd
Add fixme info 2022-02-02 09:20:40 +01:00
Chocobozzz 419b520ca4
Add ability to cancel & delete video imports 2022-01-19 14:31:05 +01:00
Chocobozzz 7177b46ca1
Add ability to delete history element 2022-01-18 11:23:41 +01:00
Chocobozzz 3c33d71474
Add "Create client page" plugin doc 2022-01-10 11:38:58 +01:00
Chocobozzz 5097cbda4a
Add missing password field to update user api doc 2022-01-10 10:08:14 +01:00
Chocobozzz 75b7117f07
Remove unnecessary NPM_RUN_BUILD_OPTS docker arg 2022-01-06 10:37:55 +01:00
Chocobozzz 8faa7d87a7
Remove angular cache in docker build 2022-01-03 14:20:56 +01:00
Chocobozzz b18a501a0e
Try to fix docker build 2022-01-03 14:20:56 +01:00
Chocobozzz 3c065fe3b3
Enhance plugin video fields
Add video form tab selection
Add ability to display an error
2021-12-29 10:10:01 +01:00
Chocobozzz 21d68e6803
Add version to generate types packages 2021-12-28 10:27:06 +01:00
Chocobozzz 134449b5ee
Increase docker ARM build timeout 2021-12-28 08:42:11 +01:00
Chocobozzz 4ff75a3b2c
Deprecate node 12 2021-12-24 13:52:32 +01:00
Chocobozzz b969539c83
Fix types dist paths 2021-12-24 13:28:33 +01:00
Chocobozzz 499be42ca2
Update plugin guide 2021-12-24 11:30:03 +01:00
Florian CUNY 597da8dd81 Updated notification types in openapi reference
Relates to https://github.com/Chocobozzz/PeerTube/issues/1565
2021-12-23 09:56:58 +01:00
Chocobozzz 41e5b788d9
Fix generate types package script 2021-12-16 17:19:42 +01:00
Chocobozzz c501f44119
https://builds.joinpeertube.org/release 2021-12-16 14:35:41 +01:00
Chocobozzz a9bfa85d2c
Add ability for admins to set default p2p policy 2021-12-16 10:08:55 +01:00
Chocobozzz 9b3294a849 Fix some build scripts and lint 2021-12-16 10:08:43 +01:00
lutangar b8fa3e8c73 refactor(types): create dedicated folder for types package src
fix guide examples and add types package readme

refactor(tsconfig): move back base tsconfig to base directory
2021-12-16 10:08:43 +01:00
lutangar 8b03e2ce1a feat(types): create peertube-types package
Create dedicated Typescript "types" configuration file for each "projects".
Create a types folder which includes every useful ts definition:
- client
- server
- shared
Add tooling to create a proper package, extract dependencies, etc...
Add CI Github task.

refactor(types): publish types package in release script
2021-12-16 10:08:43 +01:00
Chocobozzz 3cf68b869d
Ability for admins to set default upload values 2021-12-14 17:17:01 +01:00
Chocobozzz 11e520b50d
Fix tests doc 2021-12-13 11:17:49 +01:00
Chocobozzz 03a65456f4
Add 'input-checkbox' value warning in doc 2021-12-10 14:13:33 +01:00
Chocobozzz a23f6c94ed
Improve production guide
Add syntax highlighting
Add emoji on section titles to better differenciate each section
2021-12-08 09:44:14 +01:00
Chocobozzz bdf70330e4
Add account block status in openapi 2021-12-07 11:30:53 +01:00
Chocobozzz 14a07e0176
Increase yarn timeout
It can be slow when building docker using qemu
2021-12-06 08:57:10 +01:00
Chocobozzz 51e9e152f7
Build nightly using github action 2021-12-03 10:14:17 +01:00
Chocobozzz 37cb07eae2
Add missing docker credentials env 2021-12-02 09:21:19 +01:00
Chocobozzz af48e345be
Update release doc 2021-11-30 08:36:34 +01:00
Chocobozzz 8afade2607
Introduce plugin id selectors 2021-11-26 17:36:55 +01:00
Chocobozzz c95954261d
Use master branch for docker install documentation 2021-11-25 14:50:39 +01:00
lutangar 7226e90fdc Add `req` and `res` as controllers hooks parameters
Hooks prefixed by `action:api` now give access the original express req and res.
Checkout guide.md for possible usage.
2021-11-25 09:54:22 +01:00
Chocobozzz 450de91e22
Fix E2E tests 2021-11-24 10:49:12 +01:00
Chocobozzz ad5db1044c
Add ability to run transcoding jobs 2021-11-18 15:20:57 +01:00
Chocobozzz 1606ac207d
Migrate docker image to bullseye 2021-11-16 17:03:44 +01:00
Chocobozzz 61a4bad51e
Update localization doc 2021-11-15 15:57:46 +01:00
Chocobozzz 5638df0895
Update xliffmerge 2021-11-15 15:56:58 +01:00
Chocobozzz 527a52ac42
Add ability to filter out public videos from admin 2021-11-12 14:23:22 +01:00
Chocobozzz 51353d9a03 Refactor video views
Introduce viewers attribute for live videos
Count views for live videos
Reduce delay to see the viewer update for lives
Add ability to configure video views buffer interval and view ip
expiration
2021-11-09 15:00:31 +01:00
Chocobozzz 221ee1adc9 Add transcoding fail message in client 2021-11-09 15:00:21 +01:00
Chocobozzz 9c39161203
Add version note for create-move-video-storage-job 2021-11-09 14:41:18 +01:00
Florian CUNY 817c34d57c Trigger rebuild of Gitpod's image for PeerTube
Gitpod's docker image for PeerTube hasn't been rebuilt for some time, and started to have compatibility issues between dependencies and the node engine. Triggering this rebuild should force Gitpod to rebuild the image with node v16.13.0 instead of node v12.20.0.
2021-11-09 11:37:47 +01:00
kontrollanten e1ab52d7ec
Add migrate-to-object-storage script (#4481)
* add migrate-to-object-storage-script

closes #4467

* add migrate-to-unique-playlist-filenames script

* fix(migrate-to-unique-playlist-filenames): update master/segments256

run updateMasterHLSPlaylist and updateSha256VODSegments after
file rename.

* Improve move to object storage scripts

* PR remarks

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-09 11:05:35 +01:00
Chocobozzz df1db951c5
Support RTMPS 2021-11-05 11:38:17 +01:00
Florian CUNY 8dd754c767
Added 144p encoding (#4492)
* Added 144p encoding

Implements https://github.com/Chocobozzz/PeerTube/issues/4428

* Fixed typo in core-utils

* Increased BitPerPixel for 144p

* Disabled 144p by default in test.yaml

* Another try at fixing tests

* Fixed test in video-transcoder (api-3)

* Fixed test in video-imports (api-4)

* Fixed test in live-constraints (api-2)

* Tried to fix tests in api-3 again

* Revert "Tried to fix tests in api-3 again"

This reverts commit 266e1143fa37f333d149c2c2791c7bd33621ac14.

* Fixed test in config.ts (api-2)

* Try to fix test in video-hls.ts (api-3)

* Fixed test in video-transcoder.ts (api-3)

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-11-05 10:23:02 +01:00
Chocobozzz d324756edb
Add ability to filter by file type 2021-11-03 11:32:41 +01:00
Chocobozzz 7e7d8e4853
Some fixes for admin videos list 2021-11-02 11:13:13 +01:00
Chocobozzz 9883e60f30
Improve tests documentation 2021-11-02 10:13:53 +01:00
Chocobozzz 2760b454a7 Deprecate filter video query
Introduce include and isLocal instead
2021-10-29 11:48:21 +02:00
Frank Sträter 3a63b110ba Update RHEL8 Python symlinking 2021-10-26 09:10:12 +02:00
Rigel Kent 276250f0a3
prevent multiple post-process triggering of upload-resumable (#4175)
* prevent multiple post-process triggering of upload-resumable

* switch from 409 to 503 for upload being processed

* Improve resumable upload check

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-25 17:42:20 +02:00
Chocobozzz 7f91ecbde4
Completely remove torrent static path 2021-10-22 10:32:53 +02:00
Chocobozzz 62549e6c98
Rewrite youtube-dl import
Use python3 binary
Allows to use a custom youtube-dl release URL
Allows to use yt-dlp (youtube-dl fork)
Remove proxy config from configuration to use HTTP_PROXY and HTTPS_PROXY
env variables
2021-10-22 10:25:24 +02:00
Chocobozzz 97b6428af7
Breaking: fix inconsistencies in configuration 2021-10-20 16:29:41 +02:00
Chocobozzz 906f46d084
Split check user params tests 2021-10-20 09:25:44 +02:00
JustAnotherArchivist 9c58375c08 Add missing start and count parameters to playlist video list API endpoint documentation 2021-10-20 08:55:32 +02:00
Chocobozzz cf0c8ee588
Fix admin edition disabling feature 2021-10-14 11:35:43 +02:00
frankstrater a232d3e50b Add python-exec to Gentoo dependencies 2021-10-13 09:18:45 +02:00
kontrollanten c80e458afb
extend client-overrides with default images (#4392)
* extend client-overrides with default images

Add:
* default-playlist.png
* default-avatar-account.png
* default-avatar-videochannel.png

solves #4108

* Rename to default-avatar-video-channel.png

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-10-12 13:50:40 +02:00
Jelle Besseling 8d8a037e3f
Allow configuration to be static/readonly (#4315)
* Allow configuration to be static/readonly

* Make all components disableable

* Improve disabled component styling

* Rename edits allowed field in configuration

* Fix CI
2021-10-12 13:33:44 +02:00
Chocobozzz d00e9c54f3
Merge branch 'next' into develop 2021-10-11 09:37:30 +02:00
frankstrater 32e06ca4de Add Python symlink step for Gentoo 2021-10-08 14:54:37 +02:00
SansPseudoFix 461bcc1ab9 Add warning about community maintenance for dependencies 2021-10-08 14:53:20 +02:00
Chocobozzz 624e42fdf9
Remove peertube watch and peertube repl
I don't have time to maintain these scripts that cause some install
issues/maintenance difficulties
2021-09-10 15:06:57 +02:00
Chocobozzz 188aa7740c
Add restart peertube info in upgrade doc 2021-09-09 11:04:57 +02:00
Chocobozzz 29b84d749e
Improve release doc 2021-09-09 09:36:36 +02:00
Chocobozzz 6f9719b568
Add dev lib documentation 2021-09-07 11:47:40 +02:00
Chocobozzz dbe91db73e
Remove old s3 method nginx config 2021-09-07 09:37:43 +02:00
Chocobozzz 6d210220be
Fix NSFW filter and add tests 2021-09-03 16:35:18 +02:00
Chocobozzz 4d557df51c
Add note about global python 2021-09-02 11:54:13 +02:00
Chocobozzz 12d6b873cd
Improve e2e workflow and add doc 2021-09-02 09:07:42 +02:00
Chocobozzz 2a21507a38
Update changelog 2021-08-27 11:18:06 +02:00
Chocobozzz 8f58172565
Allow accounts to skip account setup modal 2021-08-27 10:15:55 +02:00
Chocobozzz d35f3a86c6
Fix archlinux dep 2021-08-26 10:01:42 +02:00
Frank Sträter 644800ef55
Dependencies RHEL8 (#4337)
* Add guide for RHEL 8

* Remove hash comments in shell scripts to avoid root prompt confusion
2021-08-24 11:51:04 +02:00
Chocobozzz 66a7fc9473
Remove optimize old videos script
It is not compatible with HLS and I don't have time to maintain it
2021-08-17 10:33:36 +02:00
Jelle Besseling 0305db28c9
Add support for saving video files to object storage (#4290)
* Add support for saving video files to object storage

* Add support for custom url generation on s3 stored files

Uses two config keys to support url generation that doesn't directly go
to (compatible s3). Can be used to generate urls to any cache server or
CDN.

* Upload files to s3 concurrently and delete originals afterwards

* Only publish after move to object storage is complete

* Use base url instead of url template

* Fix mistyped config field

* Add rudenmentary way to download before transcode

* Implement Chocobozzz suggestions

https://github.com/Chocobozzz/PeerTube/pull/4290#issuecomment-891670478

The remarks in question:
    Try to use objectStorage prefix instead of s3 prefix for your function/variables/config names
    Prefer to use a tree for the config: s3.streaming_playlists_bucket -> object_storage.streaming_playlists.bucket
    Use uppercase for config: S3.STREAMING_PLAYLISTS_BUCKETINFO.bucket -> OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET (maybe BUCKET_NAME instead of BUCKET)
    I suggest to rename moveJobsRunning to pendingMovingJobs (or better, create a dedicated videoJobInfo table with a pendingMove & videoId columns so we could also use this table to track pending transcoding jobs)
    https://github.com/Chocobozzz/PeerTube/pull/4290/files#diff-3e26d41ca4bda1de8e1747af70ca2af642abcc1e9e0bfb94239ff2165acfbde5R19 uses a string instead of an integer
    I think we should store the origin object storage URL in fileUrl, without base_url injection. Instead, inject the base_url at "runtime" so admins can easily change this configuration without running a script to update DB URLs

* Import correct function

* Support multipart upload

* Remove import of node 15.0 module stream/promises

* Extend maximum upload job length

Using the same value as for redundancy downloading seems logical

* Use dynamic part size for really large uploads

Also adds very small part size for local testing

* Fix decreasePendingMove query

* Resolve various PR comments

* Move to object storage after optimize

* Make upload size configurable and increase default

* Prune webtorrent files that are stored in object storage

* Move files after transcoding jobs

* Fix federation

* Add video path manager

* Support move to external storage job in client

* Fix live object storage tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2021-08-17 08:26:20 +02:00
ROBERT MCDOWELL da948b75ca Standard output type syslog is obsolete in systemed
removing the setting
StandardOutput
StandardError
2021-08-05 10:58:05 +02:00
Chocobozzz 2bee9db56a
Update plugin doc 2021-07-30 13:58:18 +02:00
WingsLikeEagles f68d1cb6ac Adding Rocky Linux 8.4
Adding documentation for Rocky Linux 8.4
Adapted from CentOS 8... but seems like there is stuff missing from that section.
2021-07-28 08:11:57 +02:00
Chocobozzz a24bd1ed41
Merge branch 'next' into develop 2021-07-21 15:51:30 +02:00
Chocobozzz 5f26f13b3c
Merge branch 'constant-registry' into develop 2021-07-21 15:45:42 +02:00
Chocobozzz 4d029ef8ec
Add ability for instances to follow any actor 2021-07-21 13:35:31 +02:00
Chocobozzz f49ff55162
Bumped to version v3.3.0 2021-07-20 15:08:50 +02:00
lutangar dc3d902234 Introduce generic video constant manager for plugins
Allow a plugin developer to get back constants values,
and reset constants deletions or additions.
2021-07-16 17:49:40 +02:00
Frank Sträter 39072b2f6a
Postgresql-setup init option for auth-host (#4253)
* Set postgresql password authentication for host

* Update postgresql-setup obsoleted argument syntax for initdb
2021-07-16 15:39:09 +02:00
jameskimmel 1d8400118a Update dependencies.md
The now LTS version of NodeJS is 14.x
2021-07-12 15:33:14 +02:00
Frank Sträter 8182a37067
Fedora guide fix (#4238)
* Fix peertube sudoer

* Add vim to Fedora packages installation

* Add oidentd to Fedora packages installation

* Enable and start the ident daemon

* Add nginx configuration

* Add future symbolic link for nginx config

* Add small change for Gentoo
2021-07-12 15:31:57 +02:00
Chocobozzz deecf33724
Bumped to version v3.3.0-rc.1 2021-07-05 15:19:45 +02:00
lutangar 4c0a6954fb Document a way to update the last available version of a plugin manually
May comes in very handy to quickly test a plugin in a production like environment before it reaches a greater world.

> This magic trick comes from @Chocobozzz himself, who passed it on to @JohnXLivingston, who then passed it down to me.
2021-06-30 11:44:54 +02:00
Chocobozzz d4a8e7a65f Support short uuid for GET video/playlist 2021-06-29 14:56:35 +02:00
frankstrater 2370d9cc4a Add downloadEnabled boolean to PUT video 2021-06-25 15:00:21 +02:00
Chocobozzz 37a44fc915 Add ability to search playlists 2021-06-25 14:44:01 +02:00
Chocobozzz 754c73f32b
Improve plugin guide doc for plugin index 2021-06-08 17:57:33 +02:00
Rigel Kent 37ede348bb
(doc) add note in config that tmp is also used while processing 2021-06-08 11:45:03 +02:00
Chocobozzz a13df19d57
Increase max image/caption/torrent upload size 2021-06-08 10:01:50 +02:00
Chocobozzz 8beea2d37d
Add ability to filter menu links 2021-06-07 13:20:08 +02:00
Rigel Kent c756bae079
add video upload types, add doc middleware to more routes 2021-06-06 10:21:06 +02:00
Rigel Kent a31e9b183e
add invalid_token error to openapi spec 2021-06-04 08:40:08 +02:00
John Livingston 9777fe9eeb
Adding frontend peertubeHelpers.getBaseRouterRoute. (#4153)
* Adding frontend peertubeHelpers.getBaseRouterRoute.

* Fix doctoc.
2021-06-03 12:28:26 +02:00
Rigel Kent 81628e5069 refactor error code values for URI compatibility 2021-06-02 16:57:07 +02:00
Rigel Kent 1cfbdd30d9 refactor deprecated body-parser usage 2021-06-02 16:57:07 +02:00
Rigel Kent 76148b27f7 refactor API errors to standard error format 2021-06-02 16:57:07 +02:00
Rigel Kent 3dd6d6cd42
move dependencies link to engines.yaml 2021-06-02 10:48:03 +02:00
Johan Fleury 383fea89f0 Allow setting log level using PEERTUBE_LOG_LEVEL envvar 2021-06-02 09:43:13 +02:00
Chocobozzz 1a148b4792
Bumped to version v3.2.1 2021-06-01 11:03:52 +02:00
Chocobozzz c215e627b5
Fix openapi doc for resumable upload 2021-05-27 16:06:24 +02:00
Chocobozzz 2539932e16
Instance homepage support (#4007)
* Prepare homepage parsers

* Add ability to update instance hompage

* Add ability to set homepage as landing page

* Add homepage preview in admin

* Dynamically update left menu for homepage

* Inject home content in homepage

* Add videos list and channel miniature custom markup

* Remove unused elements in markup service
2021-05-27 15:59:55 +02:00
Chocobozzz eb34ec30e0
Merge branch 'release/3.2.0' into develop 2021-05-27 14:04:15 +02:00
Chocobozzz 4e67a45cd9
Bumped to version v3.2.0 2021-05-27 13:56:49 +02:00
Chocobozzz 85a60d8beb
Fix broken openapi schema 2021-05-27 11:52:03 +02:00
Rigel Kent e2adb8cb40
add operationId to common operations 2021-05-26 14:24:51 +02:00
Chocobozzz 3dc8a86c80
cd /var/www/peertube in prod guide
Avoid running db creation in /root directory
2021-05-25 11:35:29 +02:00
Chocobozzz 31a911190b
Fix broadcast message log level 2021-05-25 11:35:29 +02:00
Stakovicz 78c5e31049
Allow SSL database parameter (#4114)
* Allow SSL database parameter

Allow SSL database parameter via environment variable

* Allow SSL database parameter 

Allow SSL database parameter via environment variable

* Update support/docker/production/config/custom-environment-variables.yaml

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>
2021-05-25 11:35:29 +02:00
Chocobozzz 6a3391bced
cd /var/www/peertube in prod guide
Avoid running db creation in /root directory
2021-05-25 11:34:43 +02:00
Chocobozzz 008af5c9bb
Fix broadcast message log level 2021-05-25 11:34:43 +02:00
Stakovicz d35c81fa1c
Allow SSL database parameter (#4114)
* Allow SSL database parameter

Allow SSL database parameter via environment variable

* Allow SSL database parameter 

Allow SSL database parameter via environment variable

* Update support/docker/production/config/custom-environment-variables.yaml

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>

Co-authored-by: Chocobozzz <chocobozzz@cpy.re>
2021-05-25 11:34:10 +02:00
Rigel Kent 3f71c4c068
fix typo in operationId in openapi spec 2021-05-24 19:24:44 +02:00
Rigel Kent 3cf8874f1a
add code examples for login in openapi spec 2021-05-14 19:19:10 +02:00
Chocobozzz 5b1a6d45b5
Merge branch 'release/3.2.0' into develop 2021-05-14 14:18:13 +02:00
Chocobozzz cb4bab61c1
Fix logger warning level 2021-05-14 14:17:53 +02:00
Rigel Kent c76ecc3ff7
paginate response for abuse list in openapi spec
closes #4094
2021-05-13 23:40:50 +02:00
Rigel Kent 65cb01a252
modify response for adding abuse in openapi spec
closes #4093
2021-05-13 23:37:39 +02:00
Rigel Kent ca98c8f844
modify return code for adding/removing blocked servers in openapi spec
closes #4095
2021-05-13 23:33:24 +02:00
Rigel Kent 06dc7a1b96
add accept/reject routes for server followers in openapi spec 2021-05-13 14:52:31 +02:00
Rigel Kent da35b419cd
fix route prefix for blocklist routes in openapi spec
closes #4091
2021-05-13 14:20:04 +02:00
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