Commit Graph

144 Commits

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 44364d06d7
Trigger test build for any branch 2021-07-20 15:27:18 +02:00
Chocobozzz dcc30997d1
Trigger a build for any branch 2021-07-20 15:27:17 +02:00
Chocobozzz de15b052c5
Fix comment in PR template 2021-07-12 15:40:33 +02:00
Chocobozzz 4f97f58383
Update PR template and contributing guide 2021-06-25 14:55:25 +02:00
Chocobozzz 29b7426c67
Speedup CI 2021-06-17 10:43:34 +02:00
Rigel Kent 307b3db45e
(doc) move irc webchat link to web.libera.chat 2021-06-15 09:51:13 +02:00
Chocobozzz 27bc958674
Bidi support 2021-06-07 18:14:05 +02:00
Chocobozzz 462271edd6
Move to libera.chat 2021-05-31 10:07:00 +02:00
Chocobozzz bfe6e0d9f7
Add lighthouse to github action 2021-05-27 09:15:29 +02:00
Rigel Kent 99c5d041fc
prioritize matrix support for quick q/a 2021-05-26 14:46:18 +02:00
Chocobozzz 4b91bc1525 Reduce pending job waiting 2021-05-07 15:42:23 +02:00
Chocobozzz ccda150fc4
Remove roadmap funding 2021-03-24 18:18:41 +01:00
Chocobozzz 3fbc697433
Add next to stats github ci 2021-03-24 18:18:41 +01:00
Chocobozzz 2d5a469427
Add next branch to CI 2021-03-24 18:18:40 +01:00
Chocobozzz 9514bb3bc0
Update benchmark ci action 2021-02-24 14:01:00 +01:00
Chocobozzz 2abaa3f27e
Add stats to github actions 2021-02-23 11:02:35 +01:00
Chocobozzz fae6e4da8f Try to speed up server tests 2021-02-19 09:36:50 +01:00
Chocobozzz 4e9835e632
Fix bundlewatch branch base 2021-02-10 11:36:40 +01:00
Chocobozzz 5ec8a71f84
Try to display job log in specific stage 2021-01-14 09:20:38 +01:00
Chocobozzz 0158eeb0c9
Fix ldap test 2021-01-04 11:38:33 +01:00
Chocobozzz 4f5a90ef5e
Always display errors from tests 2021-01-04 10:52:27 +01:00
Chocobozzz 34caef7fc0 Add joblog at the end of ci 2020-12-14 09:11:27 +01:00
Chocobozzz 12554857b4 Display error logs in CI 2020-12-14 09:11:27 +01:00
Chocobozzz 83ef31fe10 Save logs on ci failure 2020-12-14 09:11:27 +01:00
kontrollanten 05e85b59c7
contributing documentation: add `parallel` as dependency (#3421)
Co-authored-by: Rigel Kent <par@rigelk.eu>
2020-12-07 21:27:25 +01:00
Chocobozzz 9e3e4adc65
Add logs to fixture generations 2020-12-01 15:04:38 +01:00
Chocobozzz 0484ec9e41
Try to fix live tests 2020-11-30 09:16:41 +01:00
Rigel Kent afff310e50 allow private syndication feeds via a user feedToken 2020-11-25 11:07:56 +01:00
Frank Sträter b4bc269e55
fix CONTRIBUTING.md command order (#3305) 2020-11-13 11:53:30 +01:00
Chocobozzz 93ab83893d
Fix npm run test 2020-11-10 15:04:08 +01:00
Chocobozzz eb77f4ce1d
Simplify a little bit github templates 2020-11-10 09:36:50 +01:00
Chocobozzz 79389bffd6
Fix deprecated action command 2020-11-10 08:50:49 +01:00
Chocobozzz c655c9ef6f Update ffmpeg static version for tests 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
Rigel Kent 34e2998769
move github issue templates to new standard 2020-11-07 16:22:25 +01:00
Rigel Kent 7f0d856169 jobs/logs view select and empty state visual improvements 2020-09-28 13:25:50 +02:00
Chocobozzz 07491f4b98 Add fixtures cache to github actions 2020-08-24 18:54:37 +02:00
Rigel Kent a3e6d18199
slightly reword CONTRIBUTING doc 2020-08-10 12:01:50 +02:00
Chocobozzz a3b5e78af3 Analyze embed too with bundlewatch 2020-08-06 10:58:36 +02:00
Chocobozzz fc3b14e413
Limit github actions on PR 2020-08-06 09:47:46 +02:00
Chocobozzz d632a14729 Test bundlewatch 2020-08-06 09:42:33 +02:00
Chocobozzz f9e1ca7087 Execute external tests on schedule 2020-07-31 11:32:04 +02:00
Chocobozzz f9d2deae3a Correctly test ldap 2020-07-31 11:32:04 +02:00
Chocobozzz a613eea4c3 DISABLE_HTTP_IMPORT_TESTS on non scheduled tests 2020-07-31 11:32:04 +02:00
Chocobozzz 12e8547f07 Test ldap 2020-07-31 11:32:04 +02:00
Chocobozzz 7abb5c5da1 Use parallel to run tests in parallel 2020-07-31 11:32:04 +02:00
Chocobozzz b488ba1e26 Don't rely on youtube for tests
Use another import URL when possible, and disable import tests when we
want to do a youtube import test
2020-07-31 11:32:04 +02:00
Chocobozzz b9fe9a7ffd Add github workflows 2020-07-31 11:32:04 +02:00
Chocobozzz 17b07dc5a2 Update contributing guide 2020-07-10 14:02:41 +02:00
Chocobozzz 6676056a31
Add max count information in api doc 2020-05-13 11:31:42 +02:00
Chocobozzz 0ceadb3578
Use absolute links in contribute guide 2020-05-13 11:25:04 +02:00
Chocobozzz e5426b3fa4
Update test contributing guide 2020-02-12 10:36:37 +01:00
Chocobozzz 297e911bdb
Use node 10 in travis 2019-07-25 11:25:45 +02:00
Chocobozzz bfa1a32b34
Add client hook/register typings 2019-07-24 11:55:08 +02:00
Nassim Bounouas 50b4dcce56 Fix/connection with email (#1917)
* #1916 Load user by email - insensitive query

* Revert "Case insensitive login"

This reverts commit c1521ca3d7.

* #1916 Load user - insensitive query for username and sensitive for email

* #1916 Unit test for insensitive username login && documentation
2019-07-02 11:16:33 +02:00
Jorropo b30acc0e4b Update contributing to use multiple remote. (#1902)
Using multiple remote simplify a lot updating and pulling.
2019-06-14 10:40:01 +02:00
Chocobozzz d1ab89deb7
Handle email update on server 2019-06-11 14:31:11 +02:00
Nicolas Fortin 838f4a7983 fix-contributing-documentation-client-side-typo
Fixing a small typo in the contributing documentation.
The project seems really promising, love it :)
2019-06-04 23:33:46 +02:00
buoyantair e6b04e0e79 tell the user to fork the repo (#1856)
* tell the user to fork the repo

very small doc bug :)

* fix link
2019-05-30 09:00:10 +02:00
Chocobozzz 46e9407c60
Update URLs to point to new documentation site 2019-05-23 14:58:34 +02:00
Jan Keromnes 0cfcbae818 Add automated dev setup using Gitpod 2019-04-12 09:25:43 +02:00
Chocobozzz 9ba1d64b1a
Update CONTRIBUTING.md 2019-04-04 16:37:18 +02:00
Rigel Kent e2266e4f82
update CONTRIBUTING.md to reflect new documentation sections 2018-11-09 14:51:08 +01:00
Thomas Kuntz 0e62b72bb9 Add 'Improve the website' section to CONTRIBUTING (#1366) 2018-11-03 15:00:10 +01:00
Rigel Kent 71607e4a65
fix typo in CONTRIBUTING.md 2018-10-24 23:39:52 +02:00
Aurélien Béranger e730aef76a (doc) add VPS as development platform example in CONTRIBUTING.md (#1278) 2018-10-24 00:16:47 +02:00
Clément Brizard 80c7336a89 (doc) explain common watcher inotify error in CONTRIBUTING.md (#1223) 2018-10-08 13:25:41 +02:00
Felix Ableitner 29b323cdd7 Rewrite issue template (#1187)
* Rewrite issue template

* add /
2018-10-05 09:06:08 +02:00
Rigel Kent 6360e12616
note about security issue disclosures in the issue template 2018-09-30 22:56:18 +02:00
am97 a43e21820d add warning about RAM to contributing guide (#1112) 2018-09-23 14:50:24 +02:00
Chocobozzz 6b6168606b
Bufferize videos views in redis 2018-08-30 15:03:18 +02:00
Felix Ableitner dd07afa5f4 Add missing instructions to Contributing document 2018-08-23 09:41:25 +02:00
Chocobozzz 6a1787c127
Add translation guide 2018-06-21 14:07:53 +02:00
Chocobozzz dbe868c070
Add note about instance config in contributing guide 2018-06-08 10:53:33 +02:00
Chocobozzz 6cca7360eb
Reduce bundle sizes 2018-06-07 16:50:33 +02:00
Chocobozzz 6d492e562c
Fix contributing guide concerning unit tests 2018-04-20 11:53:56 +02:00
Chocobozzz 76434ec8e3
Add doc to run only one unit test 2018-04-19 16:23:09 +02:00
Chocobozzz a9ab599e53
Try to improve the contributing guide for tests 2018-04-04 08:57:37 +02:00
Chocobozzz a289721264
Add information about test databases in contributing guide 2018-04-03 08:49:18 +02:00
Chocobozzz 1909685158
Improve contributing guide 2018-04-03 08:44:04 +02:00
Chocobozzz ae09ed2c6a
Update issue template to tell people there is a FAQ 2018-03-26 09:42:45 +02:00
Chocobozzz c263f3b425
Update FAQ 2018-03-21 10:20:47 +01:00
Chocobozzz a30ce9bf23
Upgrade github issue template 2018-03-21 09:46:09 +01:00
Chocobozzz 7193ad1044
Add service worker 2018-02-08 17:31:05 +01:00
Chocobozzz d59a8da813
Add api documentation in readme 2018-01-24 12:02:38 +01:00
Chocobozzz afe8176799
Some markdown fixes 2018-01-12 18:55:45 +01:00
Chocobozzz 63bfad7ec9
Try to improve documentations/readme 2018-01-12 18:07:41 +01:00
Benjamin Bouvier e755a63a1b Reword docs (#176)
* Reword documentation;

* Wrap lines at 80 characters in the documentation.

* Wrap CONTRIBUTING.md too;

* Tweaks to CONTRIBUTING.md wording;

* Move development section to CONTRIBUTING.md;

* Explain database creation in CONTRIBUTING.md;
2018-01-06 18:10:30 +01:00
Chocobozzz 35a12fee2f Add client documentation 2016-12-01 22:16:38 +01:00
Chocobozzz 82e624233f Update documentations now we use webseed instead of electron/webrtc 2016-10-07 11:01:28 +02:00
Chocobozzz f018f38e0d Typos 2016-07-22 11:53:55 +02:00
Chocobozzz 7a7edb7241 Begin a CONTRIBUTING guide 2016-07-22 11:45:29 +02:00
Chocobozzz 0fdadee769 Add issue template 2016-06-05 10:31:27 +02:00