Commit Graph

70 Commits

Author SHA1 Message Date
mira.bat f862be2749
Add an option to sign federated fetches for mastodon compatibility (#5898)
* Fix player error modal

Not hidden when we change the video

* Correctly dispose player components

* Sign cross-server fetch requests for mastodon AUTHORIZED_FETCH compatibilty

* Add a remote fetch sign configuration knob

* Federated fetches refactoring

---------

Co-authored-by: Chocobozzz <me@florianbigard.com>
Co-authored-by: ira <ira@foxgirl.space>
2023-07-27 17:01:15 +02:00
Chocobozzz 4e5da193d0
Keep old docker path for web videos
Avoid breaking existing peertube instances on upgrade
2023-07-20 11:26:33 +02:00
Chocobozzz 4f8b623668
Add missing storyboard directory to docker 2023-07-19 11:42:00 +02:00
Chocobozzz d732ec7b46
Rename "videos" config to "web-videos" 2023-07-11 11:23:51 +02:00
Chocobozzz c57ad141a9
Rename webtorrent config to web_videos 2023-07-11 09:52:14 +02:00
Chocobozzz 6a49056026 Add TMP persistent directory
To store files that must be preserved between peertube restarts
2023-05-09 08:57:34 +02:00
Joël Galeran 3458e8ba0d
feat(docker): make database name configurable (#5734)
* feat(docker): make database name configurable

WIP
Related https://github.com/Chocobozzz/PeerTube/issues/5708

* Update .env

* PEERTUBE_DB_NAME & add comments
2023-04-07 10:52:49 +02:00
Chocobozzz a3e5f7e732
Add missing docker env for object storage config 2023-03-07 10:32:43 +01:00
Chocobozzz 1ea868a945
Fill documentation with required secret conf 2022-10-10 11:19:45 +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
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 37cb07eae2
Add missing docker credentials env 2021-12-02 09:21:19 +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 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 cf0c8ee588
Fix admin edition disabling feature 2021-10-14 11:35:43 +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
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
Rigel Kent 37ede348bb
(doc) add note in config that tmp is also used while processing 2021-06-08 11:45:03 +02:00
Johan Fleury 383fea89f0 Allow setting log level using PEERTUBE_LOG_LEVEL envvar 2021-06-02 09:43:13 +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 cb4bab61c1
Fix logger warning level 2021-05-14 14:17:53 +02:00
Arthur Lutz 5328532adf [support/docker] expose webtorrent setting in os variable settings 2021-03-29 17:01:17 +02:00
Chocobozzz 18ffaf2430
Remove traefik doc: we don't use it anymore 2021-02-12 10:18:24 +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 afd4ee86dd
Remove traefik docker support 2020-12-30 17:06:21 +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
Chocobozzz b0ce7c39dc
Add ssl support to postgresql 2020-08-24 11:38:57 +02:00
Kim caf2aaf4f9
Add ability to override client assets : logo - favicon - PWA icons - PWA manifest name and description (#2897)
* Add client-overrides storage to config

* Add static-serve for client overrides

* Move backgroun-image logo from bundle to css tag for runtime content hash

* Add dynamic JSON manifest

* Add content hash for manifest, favicon and logo

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-07-10 10:20:11 +02:00
Girish Ramakrishnan 6ee7221117 Add database.name config option
If database.name is set, we use it as the complete database name.
If unset, we use the "peertube"+database.suffix as the complete database
name.

Fixes #1620
2020-06-25 08:48:44 +02:00
Chocobozzz 4fd98756e2
Correctly fix docker storage config 2020-04-02 13:59:01 +02:00
xcffl a3188ba768 Move streaming-playlists to /data 2020-04-02 13:55:58 +02:00
Kim e962e1c3c5
Chore/docker-documentation-improvements (#2494)
* unify env_var names to replace

* detail more and improve docker doc

* fix title

* move acme email and domains to traefik command

* add details about TRAEFIK_ACME_* variables

* Fix preview links from /develop to /master
2020-02-24 15:30:14 +01:00
Ben Lubar 7269868682 Add support for HLS in the Docker container. (#2324)
* Add support for HLS in the Docker container.

* Remove comment from Dockerfile.stretch
2019-12-12 09:41:52 +01:00
Chocobozzz 345da516fa WIP plugins: add ability to register plugins 2019-07-24 10:58:16 +02:00
Chocobozzz ad3405d087
Improve 4K video quality after transcoding 2019-06-06 14:45:57 +02:00
Yohan Boniface c342726ad4 Allow to control RATES_LIMIT from configuration (#1787)
* Allow to control RATES_LIMIT from configuration

* @Chocobozzz review (squash me)
2019-04-26 13:48:55 +02:00
Chocobozzz 31b6ddf866
Add ability to disable tracker 2019-04-10 09:23:18 +02:00
Chocobozzz 539d3f4faa
BREAKING: update CSP configuration
Disable it by default and add ability to specify a custom report uri
2019-02-21 16:28:53 +01:00
Chocobozzz a4101923e6
Implement contact form on server side 2019-01-10 11:32:37 +01:00
Rigel Kent 5e755fff9d add Content Security Policy (#1252)
* add Content Security Policy

* remove reflect-metadata on production builds to get rid of unsafe-eval

* fix baseCSP usage

* add SRI to CSP

* add blob: to media-src

* remove SRI

* CSP set to reportOnly

* adding data: to connect-src CSP

* remove block-all-mixed-content

* add report-uri support
2018-12-13 09:49:45 +01:00
Chocobozzz 6040f87d14
Add tmp and redundancy directories 2018-12-04 16:04:15 +01:00
Felix Ableitner fef13f1480 Various improvements for docker-compose 2018-11-21 16:21:42 +01:00
LecygneNoir eff7cdd7b7 Configure docker image to accept trust_proxy as an env variable in json array (#1338) 2018-10-22 19:11:01 +02:00
kaiyou 302e7b19da (docker) search and import settings env variables (#1210) 2018-10-07 15:04:38 +02:00
victor héry ff587059b9 Add possibility to manage trust_proxy list in docker image 2018-09-16 18:50:13 +02:00