Upgrade PeerTube : v5.2.0 => v6.0.1
All checks were successful
gitea/ansible-roles/pipeline/head This commit looks good
All checks were successful
gitea/ansible-roles/pipeline/head This commit looks good
This commit is contained in:
parent
b30013aa67
commit
6e97ce5066
|
@ -1,12 +1,12 @@
|
||||||
---
|
---
|
||||||
# defaults file for vars
|
# defaults file for vars
|
||||||
system_dep: "['curl', 'python3-dev', 'python-is-python3', 'python3-psycopg2','certbot', 'nginx', 'ffmpeg', 'postgresql', 'postgresql-contrib', 'openssl', 'g++', 'make', 'redis-server', 'git', 'unzip', 'acl']"
|
system_dep: "['curl', 'python3-dev', 'python-is-python3', 'python3-psycopg2','certbot', 'nginx', 'ffmpeg', 'postgresql', 'postgresql-contrib', 'openssl', 'g++', 'make', 'redis-server', 'git', 'unzip', 'acl']"
|
||||||
version: 'v5.1.0'
|
version: 'v6.0.1'
|
||||||
download_url: "https://github.com/Chocobozzz/PeerTube/releases/download/{{ version }}/peertube-{{ version }}.zip"
|
download_url: "https://github.com/Chocobozzz/PeerTube/releases/download/{{ version }}/peertube-{{ version }}.zip"
|
||||||
domains: ['example.domain.org']
|
domains: ['example.domain.org']
|
||||||
certbot_admin_email: 'mgauthier@evolix.ca'
|
certbot_admin_email: 'security@evolix.fr'
|
||||||
service_home: '/var/www/peertube'
|
service_home: '/var/www/peertube'
|
||||||
db_host: 'localhost'
|
db_host: '127.0.0.1'
|
||||||
db_port: '5432'
|
db_port: '5432'
|
||||||
db_name: "{{ service }}"
|
db_name: "{{ service }}"
|
||||||
db_user: "{{ service }}"
|
db_user: "{{ service }}"
|
||||||
|
|
|
@ -6,6 +6,16 @@
|
||||||
name: "{{ service }}"
|
name: "{{ service }}"
|
||||||
state: stopped
|
state: stopped
|
||||||
|
|
||||||
|
- name: stat videos
|
||||||
|
stat:
|
||||||
|
path: "{{ service_home }}/storage/videos/"
|
||||||
|
register: videos
|
||||||
|
|
||||||
|
- name: Move videos to web-videos (needed when upgrading to version 6)
|
||||||
|
command: "mv {{ service_home }}/storage/videos/ {{ service_home }}/storage/web-videos/"
|
||||||
|
when: videos.stat.exists
|
||||||
|
become_user: "{{ service }}"
|
||||||
|
|
||||||
- name: Dump database to a file with compression
|
- name: Dump database to a file with compression
|
||||||
postgresql_db:
|
postgresql_db:
|
||||||
name: "{{ db_name }}"
|
name: "{{ db_name }}"
|
||||||
|
@ -20,6 +30,15 @@
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
become_user: "{{ service }}"
|
become_user: "{{ service }}"
|
||||||
|
|
||||||
|
- name: Adjust permissions
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
mode: o+rx
|
||||||
|
loop:
|
||||||
|
- "~/versions/peertube-{{ version }}"
|
||||||
|
- "~/versions/peertube-{{ version }}/client"
|
||||||
|
become_user: "{{ service }}"
|
||||||
|
|
||||||
- name: Symbolic link to new version
|
- name: Symbolic link to new version
|
||||||
file:
|
file:
|
||||||
src: "~/versions/peertube-{{ version }}"
|
src: "~/versions/peertube-{{ version }}"
|
||||||
|
@ -52,6 +71,11 @@
|
||||||
daemon_reload: true
|
daemon_reload: true
|
||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
|
- name: Check if SSL certificate is present and register result
|
||||||
|
stat:
|
||||||
|
path: "/etc/letsencrypt/live/{{ domains |first }}/fullchain.pem"
|
||||||
|
register: ssl
|
||||||
|
|
||||||
- name: Retemplate conf file for nginx vhost
|
- name: Retemplate conf file for nginx vhost
|
||||||
template:
|
template:
|
||||||
src: "vhost.conf.j2"
|
src: "vhost.conf.j2"
|
||||||
|
|
|
@ -122,12 +122,13 @@ storage:
|
||||||
tmp_persistent: '/var/www/peertube/storage/tmp-persistent/' # As tmp but the directory is not cleaned up between PeerTube restarts
|
tmp_persistent: '/var/www/peertube/storage/tmp-persistent/' # As tmp but the directory is not cleaned up between PeerTube restarts
|
||||||
bin: '/var/www/peertube/storage/bin/'
|
bin: '/var/www/peertube/storage/bin/'
|
||||||
avatars: '/var/www/peertube/storage/avatars/'
|
avatars: '/var/www/peertube/storage/avatars/'
|
||||||
videos: '/var/www/peertube/storage/videos/'
|
web_videos: '/var/www/peertube/storage/web-videos/'
|
||||||
streaming_playlists: '/var/www/peertube/storage/streaming-playlists/'
|
streaming_playlists: '/var/www/peertube/storage/streaming-playlists/'
|
||||||
redundancy: '/var/www/peertube/storage/redundancy/'
|
redundancy: '/var/www/peertube/storage/redundancy/'
|
||||||
logs: '/var/www/peertube/storage/logs/'
|
logs: '/var/www/peertube/storage/logs/'
|
||||||
previews: '/var/www/peertube/storage/previews/'
|
previews: '/var/www/peertube/storage/previews/'
|
||||||
thumbnails: '/var/www/peertube/storage/thumbnails/'
|
thumbnails: '/var/www/peertube/storage/thumbnails/'
|
||||||
|
storyboards: '/var/www/peertube/storage/storyboards/'
|
||||||
torrents: '/var/www/peertube/storage/torrents/'
|
torrents: '/var/www/peertube/storage/torrents/'
|
||||||
captions: '/var/www/peertube/storage/captions/'
|
captions: '/var/www/peertube/storage/captions/'
|
||||||
cache: '/var/www/peertube/storage/cache/'
|
cache: '/var/www/peertube/storage/cache/'
|
||||||
|
@ -193,7 +194,7 @@ object_storage:
|
||||||
base_url: '' # Example: 'https://mirror.example.com'
|
base_url: '' # Example: 'https://mirror.example.com'
|
||||||
|
|
||||||
# Same settings but for webtorrent videos
|
# Same settings but for webtorrent videos
|
||||||
videos:
|
web_videos:
|
||||||
bucket_name: 'videos'
|
bucket_name: 'videos'
|
||||||
prefix: ''
|
prefix: ''
|
||||||
base_url: ''
|
base_url: ''
|
||||||
|
@ -468,7 +469,7 @@ transcoding:
|
||||||
# Generate videos in a WebTorrent format (what we do since the first PeerTube release)
|
# Generate videos in a WebTorrent format (what we do since the first PeerTube release)
|
||||||
# If you also enabled the hls format, it will multiply videos storage by 2
|
# If you also enabled the hls format, it will multiply videos storage by 2
|
||||||
# If disabled, breaks federation with PeerTube instances < 2.1
|
# If disabled, breaks federation with PeerTube instances < 2.1
|
||||||
webtorrent:
|
web_videos:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
# /!\ Requires ffmpeg >= 4.1
|
# /!\ Requires ffmpeg >= 4.1
|
||||||
|
|
|
@ -85,7 +85,7 @@ server {
|
||||||
try_files /dev/null @api;
|
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;
|
client_max_body_size 0;
|
||||||
proxy_request_buffering off;
|
proxy_request_buffering off;
|
||||||
|
|
||||||
|
@ -206,29 +206,7 @@ server {
|
||||||
alias {{ service_home }}/peertube-latest/client/dist/$1;
|
alias {{ service_home }}/peertube-latest/client/dist/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bypass PeerTube for performance reasons. Optional.
|
location ~ ^(/static/(webseed|web-videos|streaming-playlists)/private/)|^/download {
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ ^(/static/(webseed|streaming-playlists)/private/)|^/download {
|
|
||||||
# We can't rate limit a try_files directive, so we need to duplicate @api
|
# 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 X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
@ -241,16 +219,10 @@ server {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bypass PeerTube for performance reasons. Optional.
|
# Bypass PeerTube for performance reasons. Optional.
|
||||||
location ~ ^/static/(webseed|redundancy|streaming-playlists)/ {
|
location ~ ^/static/(webseed|web-videos|redundancy|streaming-playlists)/ {
|
||||||
limit_rate_after 5M;
|
limit_rate_after 5M;
|
||||||
|
|
||||||
# Clients usually have 4 simultaneous webseed connections, so the real limit is 3MB/s per client
|
set $peertube_limit_rate 5M;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Use this line with nginx >= 1.17.0
|
# Use this line with nginx >= 1.17.0
|
||||||
limit_rate $peertube_limit_rate;
|
limit_rate $peertube_limit_rate;
|
||||||
|
|
Loading…
Reference in a new issue