docker-compose.tls-rtmp.yaml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. version: '2'
  2. services:
  3. owncast:
  4. image: gabekangas/owncast:latest
  5. restart: unless-stopped
  6. volumes:
  7. - ${PWD}/config-example.yaml:/app/config.yaml # Adjust once you create your own config.yaml
  8. - owncast_db:/db # Remove if you don't want chat persistant
  9. command: /app/owncast -configFile=config.yaml -database=/db/chat.db
  10. ports:
  11. - 8080:8080
  12. labels:
  13. - "traefik.enable=false"
  14. - "traefik.http.routers.owncast.rule=Host(`live.your.org`)"
  15. - "traefik.http.routers.owncast.entrypoints=web,websecure"
  16. - "traefik.http.routers.owncast.tls.certresolver=mytlschallenge"
  17. - "traefik.tcp.routers.rtmpcast.entrypoints=rtmp"
  18. - "traefik.tcp.routers.rtmpcast.rule=HostSNI(`live.your.org`)"
  19. - "traefik.tcp.routers.rtmpcast.service=rtmpcast"
  20. - "traefik.tcp.routers.rtmpcast.tls=true"
  21. - "traefik.tcp.routers.rtmpcast.tls.certresolver=mytlschallenge"
  22. - "traefik.tcp.services.rtmpcast.loadbalancer.server.port=1935"
  23. traefik:
  24. image: traefik:latest
  25. restart: unless-stopped
  26. command:
  27. - --providers.docker=true
  28. - --providers.docker.exposedbydefault=false
  29. - --entrypoints.web.address=:80
  30. - --entrypoints.websecure.address=:443
  31. - --entrypoints.rtmp.address=:1935
  32. - --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
  33. # CHANGE THE ADDRESS BELOW TO YOUR ADDRESS
  34. - --certificatesresolvers.mytlschallenge.acme.email=postmaster@mydomain.com
  35. # COMMENT OUT THE LINE BELOW TO GET LIVE CERT
  36. - --certificatesresolvers.mytlschallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
  37. - --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
  38. volumes:
  39. - traefik_certs:/letsencrypt/
  40. - /var/run/docker.sock:/var/run/docker.sock
  41. ports:
  42. - 80:80
  43. - 443:443
  44. - 1935:1935
  45. volumes:
  46. owncast_db:
  47. traefik_certs: