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