Prefix variables with peertube_
All checks were successful
Ansible Lint |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |2828|0|2828|0|:zzz:
gitea/ansible-roles/pipeline/head This commit looks good

This commit is contained in:
Mathieu Gauthier-Pilote 2024-05-09 16:00:05 -04:00
parent 4e30f428c1
commit b6a4b1a0d2
8 changed files with 53 additions and 53 deletions

View file

@ -31,7 +31,7 @@ Exemple de playbook
- all
vars:
# Supplanter ici les variables du rôle
domains: ['votre-vrai-domaine.org']
peertube_domains: ['votre-vrai-domaine.org']
service: 'mon-peertube'
roles:

View file

@ -31,7 +31,7 @@ Example Playbook
- all
vars:
# Overwrite the role variables here
domains: ['your-real-domain.org']
peertube_domains: ['your-real-domain.org']
service: 'my-peertube'
roles:

View file

@ -1,15 +1,15 @@
---
# 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']"
version: 'v6.0.1'
download_url: "https://github.com/Chocobozzz/PeerTube/releases/download/{{ version }}/peertube-{{ version }}.zip"
domains: ['example.domain.org']
certbot_admin_email: 'security@evolix.fr'
service_home: '/var/www/peertube'
db_host: '127.0.0.1'
db_port: '5432'
db_name: "{{ service }}"
db_user: "{{ service }}"
db_password: 'UQ6_CHANGE_ME_Gzb'
pt_secret: 'd98a73_CHANGE_ME_c00c7c'
pt_host: '127.0.0.1:9000'
peertube_system_dep: "['curl', 'python3-dev', 'python-is-python3', 'python3-psycopg2','certbot', 'nginx', 'ffmpeg', 'postgresql', 'postgresql-contrib', 'openssl', 'g++', 'make', 'redis-server', 'git', 'unzip', 'acl']"
peertube_version: 'v6.0.1'
peertube_download_url: "https://github.com/Chocobozzz/PeerTube/releases/download/{{ version }}/peertube-{{ version }}.zip"
peertube_domains: ['example.domain.org']
peertube_certbot_admin_email: 'security@evolix.fr'
peertube_service_home: '/var/www/peertube'
peertube_db_host: '127.0.0.1'
peertube_db_port: '5432'
peertube_db_name: "{{ service }}"
peertube_db_user: "{{ service }}"
peertube_db_password: 'UQ6_CHANGE_ME_Gzb'
peertube_app_secret: 'd98a73_CHANGE_ME_c00c7c'
peertube_app_host: '127.0.0.1:9000'

View file

@ -8,7 +8,7 @@
- name: Install main system dependencies
apt:
name: "{{ system_dep }}"
name: "{{ peertube_system_dep }}"
update_cache: yes
- name: Upgrade redis-server to the latest version from bullseye-backports
@ -23,20 +23,20 @@
- name: Add UNIX account
user:
name: "{{ service }}"
home: "{{ service_home }}"
home: "{{ peertube_service_home }}"
shell: /bin/bash
- name: Add PostgreSQL user
postgresql_user:
name: "{{ db_user }}"
password: "{{ db_password }}"
name: "{{ peertube_db_user }}"
password: "{{ peertube_db_password }}"
no_password_changes: true
become_user: postgres
- name: Add PostgreSQL database
postgresql_db:
name: "{{ db_name }}"
owner: "{{ db_user }}"
name: "{{ peertube_db_name }}"
owner: "{{ peertube_db_user }}"
template: template0
encoding: UTF-8
become_user: postgres
@ -53,14 +53,14 @@
- name: Unarchive peertube archive
unarchive:
src: "{{ download_url }}"
src: "{{ peertube_download_url }}"
dest: ~/versions
remote_src: yes
become_user: "{{ service }}"
- name: Symbolic link to unarchived version
file:
src: "~/versions/peertube-{{ version }}"
src: "~/versions/peertube-{{ peertube_version }}"
dest: "~/peertube-latest"
state: link
become_user: "{{ service }}"
@ -97,7 +97,7 @@
- name: Check if SSL certificate is present and register result
stat:
path: "/etc/letsencrypt/live/{{ domains |first }}/fullchain.pem"
path: "/etc/letsencrypt/live/{{ peertube_domains |first }}/fullchain.pem"
register: ssl
- name: Generate certificate only if required (first time)
@ -121,12 +121,12 @@
state: directory
mode: '0755'
- name: Generate certificate with certbot
shell: certbot certonly --webroot --webroot-path /var/lib/letsencrypt --non-interactive --agree-tos --email {{ certbot_admin_email }} -d {{ domains |first }}
shell: certbot certonly --webroot --webroot-path /var/lib/letsencrypt --non-interactive --agree-tos --email {{ peertube_certbot_admin_email }} -d {{ peertube_domains |first }}
when: ssl.stat.exists != true
- name: (Re)check if SSL certificate is present and register result
stat:
path: "/etc/letsencrypt/live/{{ domains |first }}/fullchain.pem"
path: "/etc/letsencrypt/live/{{ peertube_domains |first }}/fullchain.pem"
register: ssl
- name: (Re)template conf file for nginx vhost with SSL

View file

@ -8,24 +8,24 @@
- name: stat videos
stat:
path: "{{ service_home }}/storage/videos/"
path: "{{ peertube_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/"
command: "mv {{ peertube_service_home }}/storage/videos/{{ peertube_service_home }}/storage/web-videos/"
when: videos.stat.exists
become_user: "{{ service }}"
- name: Dump database to a file with compression
postgresql_db:
name: "{{ db_name }}"
name: "{{ peertube_db_name }}"
state: dump
target: "~/{{ db_name }}.sql.gz"
target: "~/{{ peertube_db_name }}.sql.gz"
become_user: postgres
- name: Unarchive new peertube archive
unarchive:
src: "{{ download_url }}"
src: "{{ peertube_download_url }}"
dest: ~/versions
remote_src: yes
become_user: "{{ service }}"
@ -35,13 +35,13 @@
path: "{{ item }}"
mode: o+rx
loop:
- "~/versions/peertube-{{ version }}"
- "~/versions/peertube-{{ version }}/client"
- "~/versions/peertube-{{ peertube_version }}"
- "~/versions/peertube-{{ peertube_version }}/client"
become_user: "{{ service }}"
- name: Symbolic link to new version
file:
src: "~/versions/peertube-{{ version }}"
src: "~/versions/peertube-{{ peertube_version }}"
dest: "~/peertube-latest"
state: link
become_user: "{{ service }}"
@ -73,7 +73,7 @@
- name: Check if SSL certificate is present and register result
stat:
path: "/etc/letsencrypt/live/{{ domains |first }}/fullchain.pem"
path: "/etc/letsencrypt/live/{{ peertube_domains |first }}/fullchain.pem"
register: ssl
- name: Retemplate conf file for nginx vhost
@ -92,7 +92,7 @@
- name: Remove database dump
file:
path: "~/{{ db_name }}.sql.gz"
path: "~/{{ peertube_db_name }}.sql.gz"
state: absent
become_user: postgres
when: keep_db_dump is undefined

View file

@ -5,11 +5,11 @@ After=network.target postgresql.service redis-server.service
[Service]
Type=simple
Environment=NODE_ENV=production
Environment=NODE_CONFIG_DIR={{ service_home }}/config
Environment=NODE_CONFIG_DIR={{ peertube_service_home }}/config
User={{ service }}
Group={{ service }}
ExecStart=/usr/bin/node dist/server
WorkingDirectory={{ service_home }}/peertube-latest
WorkingDirectory={{ peertube_service_home }}/peertube-latest
SyslogIdentifier=peertube
Restart=always

View file

@ -5,13 +5,13 @@ listen:
# Correspond to your reverse proxy server_name/listen configuration (i.e., your public PeerTube instance URL)
webserver:
https: true
hostname: '{{ domains| first }}'
hostname: '{{ peertube_domains| first }}'
port: 443
# Secrets you need to generate the first time you run PeerTube
secrets:
# Generate one using `openssl rand -hex 32`
peertube: '{{ pt_secret }}'
peertube: '{{ peertube_app_secret }}'
rates_limit:
api:
@ -48,13 +48,13 @@ trust_proxy:
# Your database name will be database.name OR 'peertube'+database.suffix
database:
hostname: '{{ db_host }}'
port: {{ db_port }}
hostname: '{{ peertube_db_host }}'
port: {{ peertube_db_port }}
ssl: false
suffix: ''
name: '{{ db_name }}'
username: '{{ db_user }}'
password: '{{ db_password }}'
name: '{{ peertube_db_name }}'
username: '{{ peertube_db_user }}'
password: '{{ peertube_db_password }}'
pool:
max: 5

View file

@ -6,7 +6,7 @@
server {
listen 80;
listen [::]:80;
server_name {{ domains | first }};
server_name {{ peertube_domains | first }};
# For certbot
location ~ /.well-known/acme-challenge {
@ -20,14 +20,14 @@ server {
}
upstream backend {
server {{ pt_host }};
server {{ peertube_app_host }};
}
{% if ssl.stat.exists %}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ domains | first }};
server_name {{ peertube_domains | first }};
access_log /var/log/nginx/{{ service }}.access.log; # reduce I/0 with buffer=10m flush=5m
error_log /var/log/nginx/{{ service }}.error.log;
@ -43,8 +43,8 @@ server {
# Certificates
# you need a certificate to run in production. see https://letsencrypt.org/
##
ssl_certificate /etc/letsencrypt/live/{{ domains | first }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ domains | first }}/privkey.pem;
ssl_certificate /etc/letsencrypt/live/{{ peertube_domains | first }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ peertube_domains | first }}/privkey.pem;
##
# Security hardening (as of Nov 15, 2020)
@ -156,7 +156,7 @@ server {
# For extra performance please refer to https://github.com/denji/nginx-tuning
##
root {{ service_home }}/storage;
root {{ peertube_service_home }}/storage;
# Enable compression for JS/CSS/HTML, for improved client load times.
# It might be nice to compress JSON/XML as returned by the API, but
@ -194,7 +194,7 @@ server {
location ~ ^/client/(assets/images/(icons/icon-36x36\.png|icons/icon-48x48\.png|icons/icon-72x72\.png|icons/icon-96x96\.png|icons/icon-144x144\.png|icons/icon-192x192\.png|icons/icon-512x512\.png|logo\.svg|favicon\.png|default-playlist\.jpg|default-avatar-account\.png|default-avatar-account-48x48\.png|default-avatar-video-channel\.png|default-avatar-video-channel-48x48\.png))$ {
add_header Cache-Control "public, max-age=31536000, immutable"; # Cache 1 year
root {{ service_home }};
root {{ peertube_service_home }};
try_files /storage/client-overrides/$1 /peertube-latest/client/dist/$1 @api;
}
@ -203,7 +203,7 @@ server {
location ~ ^/client/(.*\.(js|css|png|svg|woff2|otf|ttf|woff|eot))$ {
add_header Cache-Control "public, max-age=31536000, immutable"; # Cache 1 year
alias {{ service_home }}/peertube-latest/client/dist/$1;
alias {{ peertube_service_home }}/peertube-latest/client/dist/$1;
}
location ~ ^(/static/(webseed|web-videos|streaming-playlists/hls)/private/)|^/download {