summaryrefslogtreecommitdiffhomepage
path: root/public/v4/apps/peertube.yml
blob: d4b6fca9fac283e6f94ec5f1126dcdee75a04da1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
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