open-streaming-deployment/docker-compose.yml

86 lines
2.4 KiB
YAML

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