108 lines
4.2 KiB
YAML
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
|