docker-compose.yaml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. - 1935:1935
  13. labels:
  14. - "traefik.enable=false"
  15. - "traefik.http.routers.owncast.rule=Host(`live.your.org`)"
  16. - "traefik.http.routers.owncast.entrypoints=web,websecure"
  17. - "traefik.http.routers.owncast.tls.certresolver=mytlschallenge"
  18. traefik:
  19. image: traefik:latest
  20. restart: unless-stopped
  21. command:
  22. - --providers.docker=true
  23. - --providers.docker.exposedbydefault=false
  24. - --entrypoints.web.address=:80
  25. - --entrypoints.websecure.address=:443
  26. - --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
  27. # CHANGE THE ADDRESS BELOW TO YOUR ADDRESS
  28. - --certificatesresolvers.mytlschallenge.acme.email=postmaster@mydomain.com
  29. # COMMENT OUT THE LINE BELOW TO GET LIVE CERT
  30. - --certificatesresolvers.mytlschallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
  31. - --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
  32. volumes:
  33. - traefik_certs:/letsencrypt/
  34. - /var/run/docker.sock:/var/run/docker.sock
  35. ports:
  36. - 80:80
  37. - 443:443
  38. volumes:
  39. owncast_db:
  40. traefik_certs: