view libervia/backend/plugins/plugin_app_manager_docker/libervia_app_peertube.yaml @ 4309:b56b1eae7994

component email gateway: add multicasting: XEP-0033 multicasting is now supported both for incoming and outgoing messages. XEP-0033 metadata are converted to suitable Email headers and vice versa. Email address and JID are both supported, and delivery is done by the gateway when suitable on incoming messages. rel 450
author Goffi <goffi@goffi.org>
date Thu, 26 Sep 2024 16:12:01 +0200
parents 2b2a5348bd61
children
line wrap: on
line source

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]