73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: '3.5'
 | 
						|
 | 
						|
networks:
 | 
						|
  default:
 | 
						|
    external:
 | 
						|
      name: traefik_default
 | 
						|
 | 
						|
services:
 | 
						|
  osp-app:
 | 
						|
    depends_on:
 | 
						|
      - osp-db
 | 
						|
      - osp-redis
 | 
						|
    container_name: osp-app
 | 
						|
    entrypoint: ["/opt/osp/setup/docker/wait-for-it.sh", "osp-db:3306", "--strict", "-t", "60", "--", "/opt/osp/setup/docker/entrypoint.sh"]
 | 
						|
    env_file: live.env
 | 
						|
    environment:
 | 
						|
      - DB_URL=mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@${MYSQL_HOST}:3306/${MYSQL_DATABASE}
 | 
						|
    image: deamos/openstreamingplatform:latest
 | 
						|
    labels:
 | 
						|
      # Watchtower
 | 
						|
      - "com.centurylinklabs.watchtower.enable=true"
 | 
						|
      # Routes
 | 
						|
      - "traefik.enable=true"
 | 
						|
      - "traefik.http.routers.osp.entrypoints=websecure"
 | 
						|
      - "traefik.http.routers.osp.rule=Host(`osp.${DOMAIN}`)"
 | 
						|
      - "traefik.http.routers.osp.tls=true"
 | 
						|
      - "traefik.http.routers.osp.tls.certresolver=myresolver"
 | 
						|
      - "traefik.http.services.osp.loadbalancer.server.port=80"
 | 
						|
      # RTMP specific
 | 
						|
      - "traefik.tcp.routers.rtmpcast.entrypoints=osp-rtmp"
 | 
						|
      - "traefik.tcp.routers.rtmpcast.rule=HostSNI(`osp.${DOMAIN}`)"
 | 
						|
      - "traefik.tcp.routers.rtmpcast.service=rtmpcast"
 | 
						|
      - "traefik.tcp.routers.rtmpcast.tls=true"
 | 
						|
      - "traefik.tcp.routers.rtmpcast.tls.certresolver=myresolver"
 | 
						|
      - "traefik.tcp.services.rtmpcast.loadbalancer.server.port=1935"
 | 
						|
    networks:
 | 
						|
      - default
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - ${OSP_ROOT}/data:/var/www
 | 
						|
      - ${OSP_ROOT}/data/nginx/conf:/usr/local/nginx/conf
 | 
						|
 | 
						|
  osp-db:
 | 
						|
    image: mariadb:10
 | 
						|
    container_name: osp-db
 | 
						|
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
 | 
						|
    restart: unless-stopped
 | 
						|
    env_file: live.env
 | 
						|
    labels:
 | 
						|
      # Watchtower
 | 
						|
      - "com.centurylinklabs.watchtower.enable=true"
 | 
						|
    networks:
 | 
						|
      - default
 | 
						|
    volumes:
 | 
						|
      - /etc/localtime:/etc/localtime:ro  
 | 
						|
      - /etc/timezone:/etc/timezone:ro
 | 
						|
      - ${OSP_ROOT}/db:/var/lib/mysql
 | 
						|
 | 
						|
  osp-redis:
 | 
						|
    image: redis:6-alpine
 | 
						|
    container_name: osp-redis
 | 
						|
    command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
 | 
						|
    labels:
 | 
						|
      - "com.centurylinklabs.watchtower.enable=true"
 | 
						|
    networks:
 | 
						|
      - default
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - ${OSP_ROOT}/redis:/data
 | 
						|
      - /etc/localtime:/etc/localtime:ro
 | 
						|
      - /etc/timezone:/etc/timezone:ro
 | 
						|
 |