Compare commits

...
Author SHA1 Message Date
rscmbbng 208c8e4a7c chore: publish 8.4.1+v8.3.1-trixie release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-09-30 20:46:55 +02:00
rscmbbng c1fee4d284 chore: update image tags 2026-09-30 20:45:29 +02:00
rscmbbng 072fa33eb2 actually add release notes
continuous-integration/drone/push Build is failing
2026-09-18 09:58:39 +02:00
rscmbbng 315edede20 chore: publish 8.4.0+v8.3.0-trixie release
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-09-18 09:57:49 +02:00
rscmbbng 0902f8bab1 chore: update image tags 2026-09-18 09:44:25 +02:00
rscmbbng 31571dbb79 update peertube image to v8.2.4
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-08-04 10:45:21 +02:00
rscmbbng cc7b20f8ac chore: update image tags 2026-08-04 10:41:25 +02:00
rscmbbng b694ca6df3 publish 8.3.1+v8.2.3-trixie
continuous-integration/drone/push Build is failing
2026-07-26 11:22:06 +02:00
rscmbbng 144d6a6e3d chore: update image tags
continuous-integration/drone/tag Build is passing
2026-07-26 11:19:40 +02:00
rscmbbng 41ad17d163 upgrade peertube 8.2.2
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-07-02 19:32:23 +02:00
rscmbbng 9201ac8051 chore: update image tags 2026-07-02 19:22:33 +02:00
rscmbbng 8f3cf17a90 release v.8.2.0+v8.2.1-trixie
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-06-26 21:55:15 +02:00
rscmbbng 1506db7e0b upgrading config for v8.2.1
continuous-integration/drone/push Build is failing
2026-06-26 21:49:19 +02:00
rscmbbng 980e247bb5 chore: update image tags 2026-06-26 21:40:33 +02:00
rscmbbng cbf1671295 release 8.1.0+v8.1.8-trixie
continuous-integration/drone/push Build is failing
2026-06-26 21:38:28 +02:00
rscmbbng c640c6ef17 chore: update image tags 2026-06-26 21:20:41 +02:00
rscmbbng 6eedb2101a 8.0.0+v8.0.2-trixie
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-06-26 21:19:40 +02:00
rscmbbng c3f9d53fc7 chore: update image tags 2026-06-26 20:19:01 +02:00
3wc dc8cdf8238 chore: publish 7.3.1+v7.3.0-bookworm release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2026-03-26 22:31:36 -04:00
3wc 8eb0e51a98 fix: Correct volume path for postgres…
continuous-integration/drone/push Build is failing
2026-03-26 22:30:34 -04:00
fauno 46798abbc2 chore: publish 7.3.0+v7.3.0-bookworm release
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-03-26 18:28:01 -03:00
fauno 0d1ab925eb fix: compose all the files! 2026-03-26 18:25:53 -03:00
fauno 8b6cacc149 chore: publish 7.2.1+v7.3.0-bookworm release
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2026-02-25 17:53:35 -03:00
fauno a13cf748ce Merge pull request 'fix: autogenerate peertube secret' (#23) from issue-22 into main
continuous-integration/drone/push Build is failing
Reviewed-on: #23
2026-02-25 20:52:04 +00:00
fauno 08f5f4424c fix: autogenerate peertube secret
continuous-integration/drone/pr Build is failing
closes #22
2026-02-25 12:35:12 -03:00
3wordchant 528306134a Merge pull request 'fix typo' (#20) from Numerica/peertube:main into main
continuous-integration/drone/push Build is failing
Reviewed-on: #20
2026-02-25 04:39:18 +00:00
Roberto Soto 1b7a6bdf3d fix typo
continuous-integration/drone/pr Build is failing
2026-02-23 10:59:49 -03:00
3wc 67fab632a8 chore: publish 7.2.0+v7.3.0-bookworm release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2025-12-27 20:17:28 -05:00
rscmbbng ba4fcf2e11 update label
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-10-02 22:08:24 +02:00
rscmbbng 2b763f0719 Release notes for 7.1.0+v7.1.1-bookworm 2025-10-02 22:05:40 +02:00
rscmbbng 9e716979d5 chore: publish 7.1.0+v7.1.1-bookworm release
continuous-integration/drone/tag Build is passing
2025-10-02 22:01:31 +02:00
rscmbbng 8eda97112f chore: publish 7.0.0+v7.0.1-bookworm release
continuous-integration/drone/tag Build is passing
2025-10-02 21:49:20 +02:00
rscmbbng 44d1d7a906 release notes 6.1.0+v6.3.3-bookworm
continuous-integration/drone/push Build is passing
2025-10-02 21:39:22 +02:00
rscmbbng e47fc0dbd3 chore: publish 6.1.1+v6.3.3-bookworm release
continuous-integration/drone/tag Build is passing
2025-10-01 11:04:13 +02:00
rscmbbng 20a13e075f chore: publish 6.1.0+v6.3.3-bookworm release
continuous-integration/drone/tag Build is passing
2025-10-01 10:57:57 +02:00
rscmbbng c1dcf6d507 chore: publish 6.0.2+v6.0.4-bookworm release
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-09-17 17:30:45 +02:00
rscmbbng edc04ce966 chore: publish 6.0.1+v6.0.0-bookworm release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-09-17 16:54:35 +02:00
rscmbbng 87972def72 update nginx for v6.0.0 2025-09-17 16:53:21 +02:00
rscmbbng 006de95947 chore: publish 6.0.0+v6.0.0-bookworm release
continuous-integration/drone/tag Build is passing
2025-09-17 16:31:47 +02:00
3wordchant 2744684292 chore: publish 5.0.1+v5.2.1-bullseye release
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-02-06 18:12:22 -05:00
3wordchant 02081b0309 Keep default secret-in-config file for backwards compat. 2025-02-06 18:11:06 -05:00
3wordchant 13a3fd9253 chore: publish 5.0.0+v5.2.1-bullseye release
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-02-06 15:55:27 -05:00
3wordchant 26eb5887ba Fix various compose syntax issues
continuous-integration/drone/push Build is failing
2025-02-06 15:35:47 -05:00
3wordchant 768cc4aead Improve secret handling:
- Use `file_env` for db_password
- Add missing `PEERTUBE_SECRET`
- Add `generate_secret` local abra command
2025-02-06 15:00:04 -05:00
3wordchant 8ee85f529b Add postgres self-upgrade script 2025-02-06 14:28:04 -05:00
cas 34f93d66eb Update .drone.yml
continuous-integration/drone/push Build is passing
2025-01-08 10:09:13 -08:00
3wordchant 5c191f26a8 chore: publish 4.1.0+v5.2.1-bullseye release
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is failing
2024-05-23 15:36:18 -03:00
16 changed files with 199 additions and 76 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ steps:
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-recipes-catalogue-json
- toolshed/auto-recipes-catalogue-json
trigger:
event: tag
+7 -2
View File
@@ -2,6 +2,7 @@ TYPE=peertube
DOMAIN=peertube.example.com # <= EDIT THIS
LETS_ENCRYPT_ENV=production
COMPOSE_FILE=compose.yml
PEERTUBE_WEBSERVER_PORT=443
PEERTUBE_WEBSERVER_HTTPS=true
@@ -12,6 +13,10 @@ PEERTUBE_CONTACT_FORM_ENABLED=false
SECRET_DB_PASSWORD_VERSION=v1
# Comment out these lines if you want to store the peertube secret in a config file instead of a docker secret
COMPOSE_FILE="$COMPOSE_FILE:compose.peertube-secret.yml"
SECRET_PEERTUBE_SECRET_VERSION=v1 # length=32
## Webseed backend
#
# If no NGINX_WEBSEED option is enabled, videos will be served
@@ -30,7 +35,7 @@ SECRET_DB_PASSWORD_VERSION=v1
#NGINX_WEBSEED_CDN_URI=https://some-bucket.some-cdn.net
## E-mail settings # <= EDIT ALL THIS
#COMPOSE_FILE="compose.yml:compose.smtp.yml"
#COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
#PEERTUBE_SMTP_ENABLED=1
#SECRET_SMTP_PASSWORD_VERSION=v1
#PEERTUBE_SMTP_USERNAME=foobar
@@ -41,7 +46,7 @@ SECRET_DB_PASSWORD_VERSION=v1
#PEERTUBE_SMTP_DISABLE_STARTTLS=true
## Live stream settings
#COMPOSE_FILE="compose.yml:compose.rtmp.yml"
#COMPOSE_FILE="$COMPOSE_FILE:compose.rtmp.yml"
## Live chat settings
#PEERTUBE_LIVE_CHAT_ENABLED=1
+5 -6
View File
@@ -20,12 +20,11 @@ An ActivityPub-federated video streaming platform using P2P directly in your web
1. Set up Docker Swarm and [`abra`]
2. Deploy [`coop-cloud/traefik`]
3. `abra app new peertube --secrets` (optionally with `--pass` if you'd like
to save secrets in `pass`)
4. `abra app config YOURAPPDOMAIN` - be sure to change `DOMAIN` to something that resolves to
your Docker swarm box
5. `abra app deploy YOURAPPDOMAIN`
6. Open the configured domain in your browser to finish set-up
3. `abra app new peertube`
4. `abra app secret generate YOURAPPDOMAIN -a`
5. `abra app config YOURAPPDOMAIN` - be sure to change `DOMAIN` to something that resolves to your Docker swarm box
6. `abra app deploy YOURAPPDOMAIN`
7. Open the configured domain in your browser to finish set-up
## Host-mode networking
+2 -2
View File
@@ -1,7 +1,7 @@
# shellcheck disable=SC2034,SC2145
export NGINX_CONFIG_VERSION=v4
export APP_ENTRYPOINT_VERSION=v6
export NGINX_CONFIG_VERSION=v9
export APP_ENTRYPOINT_VERSION=v7
sub_npm() {
abra__service_="app"
+14
View File
@@ -0,0 +1,14 @@
---
version: "3.8"
services:
app:
environment:
- PEERTUBE_SECRET_FILE=/run/secrets/peertube_secret
secrets:
- peertube_secret
secrets:
peertube_secret:
external: true
name: ${STACK_NAME}_peertube_secret_${SECRET_PEERTUBE_SECRET_VERSION}
+8 -14
View File
@@ -3,7 +3,7 @@ version: "3.8"
services:
web:
image: nginx:1.23.3
image: nginx:1.30.5
networks:
- proxy
- internal
@@ -24,11 +24,6 @@ services:
configs:
- source: nginx_config
target: /etc/nginx/nginx.conf
healthcheck:
test: curl -f http://app:9000/v1/api/ping || exit 1
interval: 5s
timeout: 3s
retries: 20
deploy:
restart_policy:
condition: on-failure
@@ -37,8 +32,6 @@ services:
order: start-first
rollback_config:
order: start-first
restart_policy:
max_attempts: 10
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
@@ -47,13 +40,14 @@ services:
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
app:
image: chocobozzz/peertube:v5.0.1-bullseye
image: chocobozzz/peertube:v8.3.1-trixie
environment:
- PEERTUBE_ADMIN_EMAIL
- PEERTUBE_CONTACT_FORM_ENABLED
- PEERTUBE_DB_HOSTNAME=db
- PEERTUBE_DB_PORT=5432
- PEERTUBE_DB_USERNAME=peertube
- PEERTUBE_DB_PASSWORD_FILE=/run/secrets/db_password
- PEERTUBE_LIVE_CHAT_ENABLED
- PEERTUBE_LOG_PING_REQUESTS
- PEERTUBE_REDIS_HOSTNAME=cache
@@ -85,18 +79,18 @@ services:
- internal
deploy:
labels:
- "coop-cloud.${STACK_NAME}.version=4.0.0+v5.0.1-bullseye"
- "coop-cloud.${STACK_NAME}.version=8.4.1+v8.3.1-trixie"
db:
image: postgres:10-alpine
image: pgautoupgrade/pgautoupgrade:18-alpine
environment:
- POSTGRES_USER=peertube
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
- POSTGRES_DB=peertube
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
secrets:
- db_password
volumes:
- postgres-data:/var/lib/postgresql/data
- postgres-data:/var/lib/postgresql/
networks:
- internal
healthcheck:
@@ -106,7 +100,7 @@ services:
retries: 10
cache:
image: redis:7-alpine
image: redis:8-alpine
volumes:
- redis-data:/data
networks:
+2 -1
View File
@@ -24,7 +24,8 @@ file_env() {
unset "$fileVar"
}
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
file_env "PEERTUBE_DB_PASSWORD"
file_env "PEERTUBE_SECRET"
{{ if eq (env "PEERTUBE_SMTP_ENABLED") "1" }}
file_env "PEERTUBE_SMTP_PASSWORD"
+36 -50
View File
@@ -39,15 +39,22 @@ http {
try_files /dev/null @api;
}
location = /api/v1/videos/upload-resumable {
location ~ ^/api/v1/videos/(upload-resumable|([^/]+/source/replace-resumable))$ {
client_max_body_size 0;
proxy_request_buffering off;
try_files /dev/null @api;
}
location = /api/v1/videos/upload {
limit_except POST HEAD { deny all; }
location ~ ^/api/v1/users/[^/]+/imports/import-resumable$ {
client_max_body_size 0;
proxy_request_buffering off;
try_files /dev/null @api;
}
location ~ ^/api/v1/videos/(upload|([^/]+/studio/edit))$ {
limit_except POST HEAD { deny all; }
# This is the maximum upload size, which roughly matches the maximum size of a video file.
# Note that temporary space is needed equal to the total size of all concurrent uploads.
@@ -59,6 +66,13 @@ http {
try_files /dev/null @api;
}
location ~ ^/api/v1/runners/jobs/[^/]+/(update|success)$ {
client_max_body_size 12G; # default is 1M
add_header X-File-Maximum-Size 8G always; # inform backend of the set value in bytes before mime-encoding (x * 1.4 >= client_max_body_size)
try_files /dev/null @api;
}
location ~ ^/api/v1/(videos|video-playlists|video-channels|users/me) {
client_max_body_size 3M; # default is 1M
add_header X-File-Maximum-Size 2M always; # inform backend of the set value in bytes before mime-encoding (x * 1.4 >= client_max_body_size)
@@ -93,6 +107,11 @@ http {
try_files /dev/null @api_websocket;
}
# Plugin websocket routes
location ~ ^/plugins/[^/]+(/[^/]+)?/ws/ {
try_files /dev/null @api_websocket;
}
##
# Performance optimizations
# For extra performance please refer to https://github.com/denji/nginx-tuning
@@ -111,7 +130,8 @@ http {
font/truetype
font/opentype
application/vnd.ms-fontobject
image/svg+xml;
image/svg+xml
application/xml;
gzip_min_length 1000; # default is 20 bytes
gzip_buffers 16 8k;
gzip_comp_level 2; # default is 1
@@ -148,54 +168,30 @@ http {
alias /var/www/peertube/peertube-latest/client/dist/$1;
}
# Bypass PeerTube for performance reasons. Optional.
location ~ ^/static/(thumbnails|avatars)/ {
if ($request_method = 'OPTIONS') {
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, OPTIONS';
add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header Access-Control-Max-Age 1728000; # Preflight request can be cached 20 days
add_header Content-Type 'text/plain charset=UTF-8';
add_header Content-Length 0;
return 204;
}
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, OPTIONS';
add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header Cache-Control "public, max-age=7200"; # Cache response 2 hours
rewrite ^/static/(.*)$ /$1 break;
try_files $uri @api;
}
# Plugin websocket routes
location ~ ^/plugins/[^/]+(/[^/]+)?/ws/ {
try_files /dev/null @api_websocket;
}
location ~ ^(/static/(webseed|streaming-playlists)/private/)|^/download {
# We can't rate limit a try_files directive, so we need to duplicate @api
location ~ ^(/static/(webseed|web-videos|streaming-playlists)/private/)|^/download {
#We can't rate limit a try_files directive, so we need to duplicate @api
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# Prevent too much proxying, which results in high disk write IO
proxy_max_temp_file_size 50M;
proxy_limit_rate 5M;
proxy_pass http://backend;
}
# Bypass PeerTube for performance reasons. Optional.
location ~ ^/static/(webseed|redundancy|streaming-playlists)/ {
limit_rate_after 5M;
location ~ ^/static/(webseed|web-videos|redundancy|streaming-playlists)/ {
limit_rate_after 5M;
# Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client
set $peertube_limit_rate 800k;
# Increase rate limit in HLS mode, because we don't have multiple simultaneous connections
if ($request_uri ~ -fragmented.mp4$) {
set $peertube_limit_rate 5M;
}
set $peertube_limit_rate 5M;
# Use this line with nginx >= 1.17.0
limit_rate $peertube_limit_rate;
@@ -216,23 +212,13 @@ http {
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Methods 'GET, OPTIONS';
add_header Access-Control-Allow-Headers 'Range,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header X-Cache-Status $upstream_cache_status;
add_header X-Cache-Range $slice_range;
add_header X-Fuuu ok;
add_header X-Accel-Expires 604800;
# Don't spam access log file with byte range requests
access_log off;
}
aio threads;
# Enabling the sendfile directive eliminates the step of copying the data into the buffer
# and enables direct copying data from one file descriptor to another.
sendfile on;
sendfile_max_chunk 1M; # prevent one fast connection from entirely occupying the worker process.
# should be > 800k.
sendfile_max_chunk 1M; # prevent one fast connection from entirely occupying the worker process. should be > 800k.
aio threads;
{{ if eq (env "NGINX_WEBSEED_PROXY_ENABLED") "1" }}
proxy_connect_timeout 70;
+9
View File
@@ -0,0 +1,9 @@
WARNING! ⚠️
This release includes several major Postgres version updates, please make even more sure to take a database backup than usual
Also, `PEERTUBE_SECRET `can now be stored in Docker, instead of just in a config file. To enable this behaviour:
1. Extract the secret from the config file using `abra app run $STACK_NAME app grep peertube: /config/production.yaml | cut -d'"' -f2`
2. Run `abra app secret insert $STACK_NAME peertube_secret v1`
3. Run `abra app config $STACK_NAME`, and set `COMPOSE_FILE=compose.yml:compose.peertube-secret.yml`
+25
View File
@@ -0,0 +1,25 @@
Before upgrading:
You might need to migrate some data, depending on your setup:
> Important for Docker admins If you enabled the "Keep a version of the input file" configuration, files may have been stored in the container instead of the host volume. To prevent data loss, you must copy the files on the host before upgrading using docker compose cp peertube:/app/storage/original-video-files docker-volume/data
If you are upgrading from earlier versions, double check the configs `default.yml` and `production.yaml` as new config keys have been added but we are (currently) not tracking that file here (see issue: https://git.coopcloud.tech/coop-cloud/peertube/issues/17).
You can find the production.yaml.example here:
https://github.com/Chocobozzz/PeerTube/blob/v6.3.3/config/production.yaml.example
After upgrading:
You need to manually execute a migration script after your upgrade while PeerTube is running and the database migration is complete (`Migrations finished. New migration version schema: 865` in PeerTube startup logs, this migration script may take a while).
To search the logs:
`abra app logs <app>`
To execute the migration:
```abra app run <app> app bash
export ARGS="-e NODE_CONFIG_DIR=/config -e NODE_ENV=production"
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
node dist/scripts/migrations/peertube-6.3.js```
You can find the full release notes here:
https://github.com/Chocobozzz/PeerTube/blob/develop/CHANGELOG.md#important-notes-5
+11
View File
@@ -0,0 +1,11 @@
> Due to a bug in the remote video thumbnail update, we recommend running the prune storage script to clean up the filesystem
```abra app run <app> app bash
export ARGS="-e NODE_CONFIG_DIR=/config -e NODE_ENV=production"
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
npm run prune-storage```
> If you are using object storage, you will need to create the captions bucket or configure PeerTube to use an existing one in the configuration file or using environment variables if you use Docker (PEERTUBE_OBJECT_STORAGE_CAPTIONS_BUCKET_NAME, PEERTUBE_OBJECT_STORAGE_CAPTIONS_PREFIX, PEERTUBE_OBJECT_STORAGE_CAPTIONS_BASE_URL)
See release notes: https://github.com/Chocobozzz/PeerTube/blob/develop/CHANGELOG.md#v710
+1
View File
@@ -0,0 +1 @@
Please update your .env file, specially if you're using SMTP or RTMP.
+23
View File
@@ -0,0 +1,23 @@
Bumping peertube to v8.0.2
* Ensure storage.uploads directory is set in your `production.yaml` (in `/var/lib/docker/volumes/<app>_app-config/_data`)
* Copy over the [`default.yaml`](https://raw.githubusercontent.com/Chocobozzz/PeerTube/refs/tags/v8.0.2/config/default.yaml) in to `/var/lib/docker/volumes/<app>_app-config/_data/`
* Database migrations of this version can take a long time (up to 30 minutes on an instance with many users/federation actors and a slow database disk)
* You need to manually execute a migration script after your upgrade while PeerTube is running and the database migration is complete(`Migrations finished. New migration version schema: 970 in PeerTube startup logs`):
To search the logs:
`abra app logs <app>`
To run the migration:
```
abra app run <app> app bash --user peertube
export ARGS="-e NODE_CONFIG_DIR=/config -e NODE_ENV=production"
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
node dist/scripts/migrations/peertube-8.0.js```
Full release notes:
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.0.0
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.0.1
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.0.2
+28
View File
@@ -0,0 +1,28 @@
Bumping peertube to v8.1.8
* You need to manually execute a migration script after your upgrade while PeerTube is running and the database migration is complete(`Migrations finished. New migration version schema: 1000 in PeerTube startup logs`):
To search the logs:
`abra app logs <app>`
To run the migration, regenerate thumbnails, prune storage:
```
abra app run <app> app bash --user peertube
export ARGS="-e NODE_CONFIG_DIR=/config -e NODE_ENV=production"
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
node dist/scripts/migrations/peertube-8.1.js
npm run regenerate-thumbnails
npm run prune-storage
```
Full release notes:
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.1.0
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.1.8
+8
View File
@@ -0,0 +1,8 @@
Bumping peertube to v8.2.1
* Copy over the [`default.yaml`](https://raw.githubusercontent.com/Chocobozzz/PeerTube/refs/tags/v8.2.1/config/default.yaml) in to `/var/lib/docker/volumes/<app>_app-config/_data/`
Full release notes:
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.2.0
Massive thanks to 3wc for the help!!
+19
View File
@@ -0,0 +1,19 @@
Bumping peertube to v8.3.0
* If your instance has many videos (local or federated) in the database, automatic migrations at next startup can take several minutes to finish. Plan for a short period of downtime during this upgrade
* You need to manually execute a migration script *after upgrading*, while PeerTube is running and the database migration is complete (Migrations finished. New migration version schema: 1125 in PeerTube startup logs)
To search the logs:
`abra app logs <app>`
To run the migration:
```
abra app run <app> app bash --user peertube
export ARGS="-e NODE_CONFIG_DIR=/config -e NODE_ENV=production"
export PEERTUBE_DB_PASSWORD=$(cat /run/secrets/db_password)
node dist/scripts/migrations/peertube-8.3.js```
Full release notes:
https://github.com/Chocobozzz/PeerTube/releases/tag/v8.3.0