# Example of Docker Compose setup using Traefik reverse proxy version: '3' services: traefik: image: traefik:v2.2.11 restart: always ports: - 80:80 - 443:443 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./traefik_data:/data command: # Read docker-compose labels but do not expose by default - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" # Define entrypoints - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - "--entrypoints.websecure.address=:443" # Define certificates - "--certificatesResolvers.mytlschallenge.acme.email=root@example.com" - "--certificatesResolvers.mytlschallenge.acme.storage=/data/acme.json" - "--certificatesResolvers.mytlschallenge.acme.httpChallenge.entryPoint=web" ghostream: build: .. restart: always ports: - 9710:9710/udp - 10000-10005:10000-10005/udp volumes: - ./ghostream_data:/etc/ghostream:ro labels: - "traefik.enable=true" - "traefik.http.routers.ghostream.rule=Host(`stream.example.com`)" - "traefik.http.routers.ghostream.entrypoints=websecure" - "traefik.http.routers.ghostream.tls.certresolver=mytlschallenge" - "traefik.http.routers.ghostream.service=ghostream" - "traefik.http.services.ghostream.loadbalancer.server.port=8080"