Commit Graph

530 Commits (c186a67f90203af6bfa434f026efdc99193bcd65)

Author SHA1 Message Date
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
Chocobozzz 15a7eafb89
Refactor video links builders 2021-07-26 15:04:37 +02:00
Chocobozzz 9162fdd363
Refactor video links building 2021-07-26 14:12:50 +02:00
Chocobozzz c318541398
Add missing localization keys 2021-07-21 16:22:18 +02:00
Chocobozzz 4d029ef8ec
Add ability for instances to follow any actor 2021-07-21 13:35:31 +02:00
Chocobozzz f4e5ac1ffe
Fix user creation form 2021-07-16 16:26:20 +02:00
Chocobozzz d4a8e7a65f Support short uuid for GET video/playlist 2021-06-29 14:56:35 +02:00
Chocobozzz 8cbc40b2fe
Move to sass module 2021-06-28 10:54:02 +02:00
Chocobozzz fa12eacc01
Move to sass @use 2021-06-28 09:36:35 +02:00
Chocobozzz 27bc958674
Bidi support 2021-06-07 18:14:05 +02:00
Chocobozzz 8beea2d37d
Add ability to filter menu links 2021-06-07 13:20:08 +02:00
Chocobozzz 2989628b79
Use HTML config when possible 2021-06-04 15:45:44 +02:00
Chocobozzz 8ee25e17b8
Add ability to set custom markdown in description 2021-05-31 11:33:49 +02:00
Chocobozzz 15f35256af
Add help to custom markdown textarea 2021-05-31 11:01:42 +02:00
Poslovitch 1f256e7d3c
Implemented configurable minimum signup age
Implements https://github.com/Chocobozzz/PeerTube/issues/3612

Fixed lint and removed debug

Fixed another lint error

Apply suggestions from code review

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

Add tests for min signup age config
2021-05-28 13:56:05 +02:00
Chocobozzz a1eda903a4
Support '/w/' and '/w/p/' for watch page
And use them as default in client
2021-05-28 11:38:08 +02:00
Chocobozzz 8f608a4cb2
Merge branch 'develop' into shorter-URLs-channels-accounts 2021-05-27 16:12:41 +02:00
Chocobozzz 0f01a8bacd Remove ngx-meta
Unmaintained
2021-05-27 16:00:13 +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 1e4d2cb5ae
Merge branch 'release/3.2.0' into develop 2021-05-25 13:50:11 +02:00
Chocobozzz d11eae7edc
Fix local plugin auth select 2021-05-25 13:49:52 +02:00
Chocobozzz 2c2631e42a
Fix broadcast message level 2021-05-25 11:35:29 +02:00
Chocobozzz 7e47e2aa5e
Fix broadcast message level 2021-05-14 14:25:30 +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
Chocobozzz 428ccb8b7a
Reorganize plugin models 2021-05-11 13:33:11 +02:00
Chocobozzz ce4b4495ff
Refactor video edit css 2021-05-07 14:08:35 +02:00
Kimsible 7188739644 Make /a and /c default URLs for accounts and channels 2021-05-05 11:48:25 +02:00
Chocobozzz 2e46eb9715
Refactor search filters 2021-05-03 16:42:15 +02:00
Chocobozzz 1fd61899ea
Add ability to filter my videos by live 2021-05-03 16:42:15 +02:00
Chocobozzz faf7eab7d9
Cleanup plugins admin CSS 2021-04-29 09:50:31 +02:00
Chocobozzz 931d343018
Move to stylelint 2021-04-28 17:53:57 +02:00
Chocobozzz 746018f6b8
Refactor actor avatar display 2021-04-28 11:49:34 +02:00
Chocobozzz ec489ce2f7
Rename actor image edit module 2021-04-28 09:45:49 +02:00
Chocobozzz 2d6f28a2d9
Clearer nsfw "do not list" label 2021-04-28 09:05:53 +02:00
kontrollanten 0979075453
Use account initial as default avatar (#4002)
* client: use account initial as default avatar

* fix UI in user list

Avatars was cutted in the top and bottom
2021-04-27 16:08:10 +02:00
Chocobozzz 0c12054ae3
Use server config to display supported videos ext 2021-04-27 09:24:36 +02:00
Chocobozzz 0ea9f463a9
Add action:admin-plugin-settings.init client hook 2021-04-22 11:18:13 +02:00
Chocobozzz 205e4f56f3
Refactor feed component 2021-04-15 15:31:03 +02:00
kontrollanten fbdcd4ec9f
Add AccountAvatarComponent (#3965)
* refactor(client): create account-avatar component

* continue implement account-avatar

* fix review comments
2021-04-15 10:01:27 +02:00
Chocobozzz c96e457bde
Add settings button after plugin install 2021-04-12 11:19:15 +02:00
Chocobozzz 40a5242168
Add alert modal in plugins on major upgrade 2021-04-12 11:19:15 +02:00
Chocobozzz 32af2ea6fa
Fix client build 2021-04-12 08:56:06 +02:00
Marcin Mikołajczak e043674139
Add `i18n` prop where it is missing (#3946)
* Add  `i18n` prop

* Update video-comment-list.component.html

* Update account-blocklist.component.html

* Update server-blocklist.component.html

* Update video-redundancies-list.component.html

* Update following-list.component.html

* Update followers-list.component.html
2021-04-12 08:43:40 +02:00
Chocobozzz 3c47fa3bc0
Add ability to hide plugin settings 2021-04-09 13:50:31 +02:00
Chocobozzz c713017f3c
Translate plugin options 2021-04-09 13:23:25 +02:00
Chocobozzz dc48fdbe68
Merge branch 'release/3.1.0' into develop 2021-04-08 15:16:01 +02:00
Chocobozzz b06f1ead3b
Fix updating transcoding profiles 2021-04-08 14:41:15 +02:00
Chocobozzz cdeddff142 Add ability to update the banner 2021-04-08 10:07:53 +02:00
Chocobozzz 218f730c7b
Theme breaking: --submenuColor becomes --submenuBackgroundColor 2021-03-31 09:07:25 +02:00