Commit Graph

921 Commits

Author SHA1 Message Date
Chocobozzz 216fa9d579
Update nginx template
Add rate limit to download and private static files
2022-10-25 15:48:00 +02:00
Chocobozzz 3545e72c68 Put private videos under a specific subdirectory 2022-10-24 14:48:24 +02:00
Chocobozzz 9d4c60dccc
Add ability for plugins to register ws routes 2022-10-11 11:11:04 +02:00
Chocobozzz 1ea868a945
Fill documentation with required secret conf 2022-10-10 11:19:45 +02:00
Chocobozzz a69ea13086
Add open api doc for two factor auth 2022-10-07 14:53:30 +02:00
kontrollanten 6c5f0d3aeb
server: serve files from storage/well-known (#5214)
* server: serve files from storage/well-known

closes #5206

* well-known: add tests

* test: try to skip new tests

* test: another try

* fix(config/prod): well_known path

* test: fix broken tests

* Update misc-endpoints.ts

* Use getDirectoryPath for tests

* Fix tests

Co-authored-by: Chocobozzz <me@florianbigard.com>
2022-10-04 10:53:00 +02:00
Chocobozzz cfd57d2ca0
Live supports object storage
* Sync live files (segments, master playlist, resolution playlist,
   segment sha file) into object storage
 * Automatically delete them when the live ends
 * Segment sha file is now a file on disk, and not stored in memory
   anymore
2022-10-04 10:03:17 +02:00
Chocobozzz e76daa7301
Update doc
We use IMPORTANT NOTES instead of BREAKING CHANGES now
2022-09-28 08:29:39 +02:00
Chocobozzz aca96f8007
Support only ffmpeg >= 4.3
We have issues with video import when merging vp9 in mp4 container with
lower versions
2022-09-27 11:12:40 +02:00
Chocobozzz 9ef3aeac37
Update dependencies version supported by peertube 2022-09-27 10:45:50 +02:00
John Livingston 56162c6a06 Adding peertube-plugin-quickstart-typescript in the documentation. 2022-09-16 10:20:04 +02:00
Thomas Kuntz 927d14bd26 Escape % signs in crontab example (CLI tools docs)
% is a special character for crontab. From man 5 crontab: A "%" character in the command, unless escaped with a backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.
2022-09-16 10:19:41 +02:00
Chocobozzz 9f244885f0
Update release.md process 2022-09-13 10:33:57 +02:00
Chocobozzz a3de59ab72
Update dependencies to use node 16 2022-09-09 14:10:02 +02:00
Chocobozzz 914af0d9e4
Add missing removeEventListener doc 2022-09-09 11:40:14 +02:00
Chocobozzz e15ce63041
Add @peertube/embed-api release doc 2022-09-09 11:38:51 +02:00
Chocobozzz fd3c2e8705
Add playback metric endpoint sent to OTEL 2022-08-16 10:33:27 +02:00
Florent 045224d5eb Allow continusously printing logs through tail and parse-log 2022-08-16 10:32:53 +02:00
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