Commit Graph

138 Commits

Author SHA1 Message Date
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 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 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 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 14a07e0176
Increase yarn timeout
It can be slow when building docker using qemu
2021-12-06 08:57:10 +01:00
Chocobozzz 37cb07eae2
Add missing docker credentials env 2021-12-02 09:21:19 +01:00
Chocobozzz 1606ac207d
Migrate docker image to bullseye 2021-11-16 17:03:44 +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
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
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
Arthur Lutz 5328532adf [support/docker] expose webtorrent setting in os variable settings 2021-03-29 17:01:17 +02: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 18ffaf2430
Remove traefik doc: we don't use it anymore 2021-02-12 10:18:24 +01:00
Chocobozzz 9162476fe9
Support NodeJS 14 and 15, deprecate Node 10 2021-02-04 14:31:18 +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 feaf98d528 Remove docker images I can't maintain 2021-01-13 09:05:22 +01:00
Chocobozzz a461418320
Support live port in docker compose 2021-01-07 11:18:47 +01:00
Chocobozzz 94f2bbe90b
Fix docker webserver build 2021-01-07 09:06:21 +01:00
Chocobozzz 0a0e0d082f
Fix docker nginx container if peertube restarts 2021-01-05 09:52:14 +01:00
Chocobozzz afd4ee86dd
Remove traefik docker support 2020-12-30 17:06:21 +01:00
Jan Keromnes ef62d58674 Fix PostreSQL initialization for Gitpod 2020-12-06 13:58:00 +01:00
Jan Keromnes 387d041b7a
Trigger a Gitpod dev image rebuild (in order to get upstream's Node.js 12 upgrade) (#3388)
* Trigger a Gitpod dev image rebuild (in order to get upstream's Node.js 12 upgrade)

* Update Dockerfile
2020-12-02 11:03:03 +01:00
Rigel Kent 08d70fe606
export rtmp port in dockerfiles
follows #3341
2020-11-21 17:32:56 +01:00
Rigel Kent a30995fc27
consistent documentation and configuration in compose file 2020-11-11 16:45:46 +01:00
Rigel Kent b8f3e6b00b
move traefik to its own override file 2020-11-11 16:45:46 +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
Kim 0283fe98b8
fix opendkim permissions in docker-compose setup (#2868)
Co-authored-by: kimsible <kimsible@users.noreply.github.com>
Co-authored-by: Rigel Kent <par@rigelk.eu>
2020-06-12 13:55:40 +02:00
Kim 148ab2f0f0
Fixes docker-compose .env (#2538)
* chore: remove unused var

* fix database name as peertube + update comments

* chore: comment vars indentic to production.yrml

* add smtp comment

* clarify and detail comments

Co-authored-by: kimsible <kimsible@users.noreply.github.com>
2020-05-18 17:50:58 +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