version: '3.4' services: openvpn: cap_add: - NET_ADMIN image: kylemanna/openvpn container_name: openvpn ports: - "1194:1194/udp" restart: always volumes: - ovpn-data:/etc/openvpn - backup:/srv/backups - /etc/localtime:/etc/localtime networks: # - traefik-network - traefik-external deploy: mode: replicated replicas: 1 placement: constraints: - node.role == manager - node.hostname == hetzner labels: - "traefik.enable=true" - traefik.docker.network=traefik-network - traefik.constraint-label=traefik-network - traefik.http.routers.ovpn-http.middlewares=http-to-https - traefik.http.routers.ovpn-https.rule=Host(`openvpn.odamus.com`) - traefik.http.routers.ovpn-https.entrypoints=websecure - traefik.http.routers.ovpn-http.rule=Host(`openvpn.odamus.com`) - traefik.http.routers.ovpn-http.entrypoints=web - "traefik.http.routers.ovpn-https.tls.certresolver=mychallenge" - "traefik.http.services.ovpn.loadbalancer.server.port=1194" volumes: ovpn-data: name: ovpn-data external: true backup: networks: # traefik-network: # external: true traefik-external: # external: # name: traefik-external external: true