one-click-apps/public/v4/apps/peertube.yml

108 lines
4.2 KiB
YAML

captainVersion: 4
services:
$$cap_appname-db:
image: postgres:$$cap_postgres_version
volumes:
- $$cap_appname-db-data:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_USER: $$cap_db_user
POSTGRES_PASSWORD: $$cap_db_pass
POSTGRES_DB: peertube
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname-redis:
image: redis:$$cap_redis_version
volumes:
- $$cap_appname-redis-data:/data
restart: always
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname:
depends_on:
- $$cap_appname-db
- $$cap_appname-redis
image: chocobozzz/peertube:$$cap_peertube_version
volumes:
- $$cap_appname-peertube-data:/data
- $$cap_appname-peertube-config:/config
restart: always
environment:
PEERTUBE_DB_USERNAME: $$cap_db_user
PEERTUBE_DB_PASSWORD: $$cap_db_pass
PEERTUBE_DB_HOSTNAME: srv-captain--$$cap_appname-db
PEERTUBE_REDIS_HOSTNAME: srv-captain--$$cap_appname-redis
PEERTUBE_WEBSERVER_HOSTNAME: $$cap_appname.$$cap_root_domain
PEERTUBE_WEBSERVER_PORT: '443'
PEERTUBE_WEBSERVER_HTTPS: 'true'
PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "10.0.0.0/16"]'
PEERTUBE_SMTP_USERNAME: $$cap_smtp_username
PEERTUBE_SMTP_PASSWORD: $$cap_smtp_password
PEERTUBE_SMTP_HOSTNAME: $$cap_smtp_hostname
PEERTUBE_SMTP_PORT: $$cap_smtp_port
PEERTUBE_SMTP_FROM: $$cap_smtp_from
PEERTUBE_SMTP_TLS: $$cap_smtp_tls
PEERTUBE_SMTP_DISABLE_STARTTLS: $$cap_smtp_starttls
PEERTUBE_ADMIN_EMAIL: $$cap_admin_email
caproverExtra:
containerHttpPort: '9000'
caproverOneClickApp:
variables:
- id: $$cap_db_user
label: Database user
defaultValue: peertubeuser
validRegex: /^([a-zA-Z0-9])+$/
- id: $$cap_db_pass
label: Database password
description: ''
validRegex: /.{1,}/
- id: $$cap_postgres_version
label: Postgress Version
defaultValue: 10-alpine
description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/postgress/tags/
validRegex: /^([^\s^\/])+$/
- id: $$cap_redis_version
label: Redis Version
defaultValue: 4-alpine
description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/redis/tags/
validRegex: /^([^\s^\/])+$/
- id: $$cap_peertube_version
label: Peertube Version
defaultValue: production-stretch
description: Checkout their docker page for the valid tags https://hub.docker.com/r/chocobozzz/peertube/tags/
validRegex: /^([^\s^\/])+$/
- id: $$cap_smtp_username
label: SMTP username
defaultValue: ''
- id: $$cap_smtp_from
label: SMTP from
defaultValue: ''
- id: $$cap_smtp_password
label: SMTP password
defaultValue: ''
- id: $$cap_smtp_hostname
label: SMTP hostname
defaultValue: ''
- id: $$cap_smtp_port
label: SMTP port
defaultValue: ''
- id: $$cap_smtp_tls
label: SMTP TLS
defaultValue: 'false'
- id: $$cap_smtp_starttls
label: SMTP STARTTLS
defaultValue: 'false'
- id: $$cap_admin_email
label: administrator email
defaultValue: ''
instructions:
start: 'PeerTube is a free, decentralized and federated video platform. (Github : https://github.com/Chocobozzz/PeerTube/)'
end: >
PeerTube is deployed and available as $$cap_appname.
IMPORTANT: It will take up to 2 minutes for PeerTube to be ready. Before that, you might see 502 error page.
displayName: ''
isOfficial: true
description: PeerTube is a decentralized video hosting network, based on free/libre software
documentation: Taken from https://github.com/Chocobozzz/PeerTube/blob/develop/support/docker/production/docker-compose.yml