121 lines
4.9 KiB
YAML
121 lines
4.9 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
|
|
PT_INITIAL_ROOT_PASSWORD: $$cap_admin_password
|
|
PEERTUBE_SECRET: $$cap_secret
|
|
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
|
|
defaultValue: $$cap_gen_random_hex(32)
|
|
description: ''
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_postgres_version
|
|
label: Postgres Version
|
|
defaultValue: 13.10-alpine
|
|
description: Check out their docker page for the valid tags https://hub.docker.com/r/library/postgres/tags/
|
|
validRegex: /^([^\s^\/])+$/
|
|
- id: $$cap_redis_version
|
|
label: Redis Version
|
|
defaultValue: 6.2.11-alpine
|
|
description: Check out 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: v5.1.0-bullseye
|
|
description: Check out 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: ''
|
|
- id: $$cap_admin_password
|
|
label: Administrator password
|
|
description: Password use to connect as administrator under `root` username
|
|
defaultValue: $$cap_gen_random_hex(10)
|
|
validRegex: /.{1,}/
|
|
- id: $$cap_secret
|
|
label: Secret string
|
|
defaultValue: $$cap_gen_random_hex(32)
|
|
validRegex: /.{1,}/
|
|
instructions:
|
|
start: 'ActivityPub-federated video streaming platform using P2P directly in your web browser. (Github : https://github.com/Chocobozzz/PeerTube/)'
|
|
end: >
|
|
Peertube is deployed and available as $$cap_appname.
|
|
The administrator username is `root` and the password is `$$cap_admin_password`
|
|
|
|
IMPORTANT: It will take up to 2 minutes for PeerTube to be ready. Before that, you might see 502 error page.
|
|
displayName: 'PeerTube'
|
|
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
|