ansible/roles/peertube/defaults/main.yaml

128 lines
4.1 KiB
YAML

peertube_enabled: false
peertube_publish: false
peertube_use_external_db: true
peertube_short_name: "peertube"
peertube_default_values:
replicaCount: 1
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
configAsCode:
enabled: true
config:
listen:
hostname: '0.0.0.0'
port: 9000
# Correspond to your reverse proxy server_name/listen configuration
webserver:
https: true
hostname: '{{ peertube_short_name }}.{{ domain }}'
port: 443
secrets:
peertube: '{{ peertube_secret }}'
rates_limit:
api:
# 50 attempts in 10 seconds
window: 10 seconds
max: 50
login:
# 15 attempts in 5 min
window: 5 minutes
max: 15
signup:
# 2 attempts in 5 min (only succeeded attempts are taken into account)
window: 5 minutes
max: 2
ask_send_email:
# 3 attempts in 5 min
window: 5 minutes
max: 3
# Proxies to trust to get real client IP
# If you run PeerTube just behind a local proxy (nginx), keep 'loopback'
# If you run PeerTube behind a remote proxy, add the proxy IP address (or subnet)
trust_proxy:
- 'loopback'
- 'linklocal'
- 'uniquelocal'
- '10.0.0.0/8'
- '172.16.0.0/12'
- '192.168.0.0/16'
# Your database name will be database.name OR "peertube"+database.suffix
database:
hostname: '{{ namespace }}-postgres.{{ postgres_db_namespace | default(namespace) }}.svc.cluster.local'
port: 5432
ssl: require
suffix: ''
username: '{{ peertube_db_username }}'
password: '{{ peertube_db_password }}'
pool:
max: 5
# Redis server for short time storage
# You can also specify a 'socket' path to a unix socket but first need to
# comment out hostname and port
redis:
hostname: 'peertube-redis-master'
port: 6379
auth: null
db: 0
# SMTP server to send emails
smtp:
# smtp or sendmail
transport: smtp
# Path to sendmail command. Required if you use sendmail transport
sendmail: null
hostname: "{{ mail_short_name | default('mail') }}.{{ domain }}"
port: 465 # If you use StartTLS: 587
username: peertube
password: "{{ peertube_ldap_password }}"
tls: true # If you use StartTLS: false
disable_starttls: true
ca_file: null # Used for self signed certificates
from_address: 'peertube@{{ domain }}'
admin:
# Used to generate the root user at first startup
# And to receive emails from the contact form
email: 'peertube@{{ domain }}'
contact_form:
enabled: true
# Instance settings
instance:
name: 'GHP PeerTube'
default_client_route: '/videos/recently-added'
federation:
videos:
federate_unlisted: false
cleanup_remote_interactions: true
env:
- name: PT_INITIAL_ROOT_PASSWORD
value: "{{ peertube_admin_password }}"
ingress:
enabled: true
className: "{{ external_ingress_class if peertube_publish else internal_ingress_class }}"
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: "{{ peertube_short_name }}.{{ domain }}"
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: "{{ peertube_short_name }}.{{ domain }}-tls"
hosts:
- "{{ peertube_short_name }}.{{ domain }}"
persistence:
enabled: true
accessMode: "{{ peertube_storage_mode | default('ReadWriteMany') }}"
size: "{{ peertube_size | default('100Gi') }}"
storageClass: "{{ peertube_storage | default('nfs-hdd') }}"
redis:
enabled: true
postgresql:
enabled: false