# HG changeset patch # User Goffi # Date 1717146502 -7200 # Node ID 4b6b812f485a0d4e5868ac2d4b38f38625aeb43a # Parent ba46d6a0ff3a77931a8c970a6a9d8223c79da64a plugin app manager: Add an app configuration file for PeerTube. diff -r ba46d6a0ff3a -r 4b6b812f485a libervia/backend/plugins/plugin_app_manager_docker/libervia_app_peertube.yaml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libervia/backend/plugins/plugin_app_manager_docker/libervia_app_peertube.yaml Fri May 31 11:08:22 2024 +0200 @@ -0,0 +1,92 @@ +type: docker-compose +files: + docker-compose.yml: + content: | + + services: + peertube: + image: chocobozzz/peertube:production-bookworm + networks: + default: + ipv4_address: 172.11.0.42 + ports: + - "1935:1935" + - "9000:9000" + volumes: + - assets:/app/client/dist + - ./docker-volume/data:/data + - ./docker-volume/config:/config + depends_on: + - postgres + - redis + restart: "always" + + postgres: + image: postgres:13-alpine + volumes: + - ./docker-volume/db:/var/lib/postgresql/data + restart: "always" + + redis: + image: redis:6-alpine + volumes: + - ./docker-volume/redis:/data + restart: "always" + + networks: + default: + ipam: + driver: default + config: + - subnet: 172.11.0.0/16 + + volumes: + assets: + +override: + services: + peertube: + environment: + PEERTUBE_DB_USERNAME: &db_username "peertube" + PEERTUBE_DB_PASSWORD: &db_password !libervia_generate_pwd {name: db} + PEERTUBE_DB_SSL: false + PEERTUBE_DB_HOSTNAME: "postgres" + PEERTUBE_WEBSERVER_HOSTNAME: !libervia_conf ["application peertube", "hostname"] + PEERTUBE_TRUST_PROXY: '["127.0.0.1", "loopback", "172.18.0.0/16"]' + PEERTUBE_SECRET: !libervia_generate_pwd {name: secret} + PEERTUBE_SMTP_HOSTNAME: !libervia_conf ["", "email_server"] + PEERTUBE_SMTP_USERNAME: !libervia_conf ["", "email_username"] + PEERTUBE_SMTP_PASSWORD: !libervia_conf ["", "email_password"] + PEERTUBE_SMTP_DISABLE_STARTTLS: !libervia_conf ["", "email_starttls", "false", "not"] + PEERTUBE_SMTP_PORT: !libervia_conf ["", "email_port"] + PEERTUBE_SMTP_FROM: !libervia_conf ["application peertube", "email_from", "peertube@example.com"] + PEERTUBE_SMTP_TLS: false + PEERTUBE_ADMIN_EMAIL: !libervia_conf ["", "email_admins_list", "", "first"] + PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC: "public-read" + PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE: "private" + + ports: + # FIXME: For now we use a static ports, but dynamic ones should be used. + - "1935:1935" + - "9000:9000" + volumes: + - ./docker-volume/data:/data + - ./docker-volume/config:/config + postgres: + environment: + POSTGRES_USER: *db_username + POSTGRES_PASSWORD: *db_password + POSTGRES_DB: "peertube" + +expose: + web_external: true + front_url: [override, services, peertube, environment, PEERTUBE_WEBSERVER_HOSTNAME] + web_label: Videos + ports: + web: + service: peertube + private: 9000 + passwords: + postgres: [override, services, peertube, environment, PEERTUBE_DB_PASSWORD] + secret: [override, services, peertube, environment, PEERTUBE_SECRET] +