services: coturn: container_name: coturn image: coturn/coturn labels: - traefik.enable=true - traefik.tcp.routers.coturn.entrypoints=port3478 - traefik.tcp.routers.coturn.rule=HostSNI(`$HOST`) - traefik.tcp.routers.coturn.tls.certresolver=certresolver - traefik.tcp.routers.coturn.tls=true - traefik.tcp.services.coturn.loadbalancer.server.port=3478 restart: always volumes: - ./coturn.conf:/etc/coturn/turnserver.conf textondesk: build: context: server dockerfile: Dockerfile container_name: textondesk env_file: .server.env labels: - traefik.enable=true - traefik.http.routers.textondesk.entrypoints=websecure - traefik.http.routers.textondesk.rule=Host(`$HOST`) - traefik.http.routers.textondesk.tls.certresolver=certresolver - traefik.http.routers.textondesk.tls=true - traefik.http.services.textondesk.loadbalancer.server.port=8080 - traefik.http.middlewares.textondesk-compress.compress=true - traefik.http.routers.textondesk.middlewares=textondesk-compress restart: always traefik: command: - "--certificatesresolvers.certresolver.acme.email=$ACME_EMAIL" - "--certificatesresolvers.certresolver.acme.storage=/certs/acme.json" - "--certificatesresolvers.certresolver.acme.tlschallenge=true" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entrypoint.permanent=true" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" - "--entrypoints.web.http.redirections.entrypoint.to=websecure" - "--entrypoints.websecure.address=:443" - "--entrypoints.websecure.http3=true" - "--log.level=INFO" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.port3478.address=:3478" container_name: traefik image: traefik:v3.3.2 ports: - mode: host published: 80 target: 80 - mode: host protocol: tcp published: 443 target: 443 - mode: host protocol: udp published: 443 target: 443 - mode: host protocol: tcp published: 3478 target: 3478 restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - certs_data:/certs:rw volumes: certs_data: null