version: '3.4' services: db: image: mariadb restart: unless-stopped command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - ./data/mariadb/db:/var/lib/mysql - ./setup/mariadb/osp-mariadb-additions.cnf:/etc/mysql/conf.d/osp-mariadb-additions.cnf environment: - MYSQL_ROOT_PASSWORD=internalanyway0u4F4C7gBF - MYSQL_PASSWORD=internalanywayDSfagWgmUUnF - MYSQL_DATABASE=osp - MYSQL_USER=osp networks: internal: healthcheck: test: "/usr/bin/mysql --user=root --password=internalanyway0u4F4C7gBF --execute \"SHOW DATABASES;\"" interval: 1m timeout: 1s retries: 5 start_period: 30s labels: - "traefik.enable=true" redis: image: redis restart: unless-stopped expose: - 6379 networks: internal: labels: - "traefik.enable=true" app: ## default: use prebuilt image of this project image: deamos/openstreamingplatform:beta6d ## use build instead, if you have custom modifications in osp # build: . restart: unless-stopped ports: - '1935:1935' # - '8585:80' # - '8553:443' environment: - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_PASSWORD= - DB_URL=mysql+pymysql://osp:internalanywayDSfagWgmUUnF@db/osp - FLASK_SECRET=CHANGEME - FLASK_SALT=CHANGEME - OSP_ALLOWREGISTRATION=True - OSP_REQUIREVERIFICATION=False - TZ=Europe/Berlin volumes: - "./data/www:/var/www" - "./data/nginx/conf:/usr/local/nginx/conf" tmpfs: - /var/www/live - /var/www/live-rec - /var/www/live-adapt - /var/www/stream-thumb networks: internal: traefik: labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.services.osp.loadbalancer.server.port=80" - "traefik.http.routers.osp.rule=Host(`osp.streaming.live.datenspuren.de`)" - "traefik.http.routers.osp.entrypoints=websecure" - "traefik.http.routers.osp.tls=true" - "traefik.http.routers.osp.tls.certresolver=le" - "traefik.http.routers.osp.service=osp" depends_on: - db - redis entrypoint: ["/opt/osp/setup/docker/wait-for-it.sh", "db:3306", "-t", "60", "--", "/opt/osp/setup/docker/entrypoint.sh"] networks: internal: ## if you use traefik, also enable it here. traefik: external: true