docker-compose.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. version: '3.4'
  2. services:
  3. openvpn:
  4. cap_add:
  5. - NET_ADMIN
  6. image: kylemanna/openvpn
  7. container_name: openvpn
  8. ports:
  9. - "1194:1194/udp"
  10. restart: always
  11. volumes:
  12. - ovpn-data:/etc/openvpn
  13. - backup:/srv/backups
  14. - /etc/localtime:/etc/localtime
  15. networks:
  16. # - traefik-network
  17. - traefik-external
  18. deploy:
  19. mode: replicated
  20. replicas: 1
  21. placement:
  22. constraints:
  23. - node.role == manager
  24. - node.hostname == hetzner
  25. labels:
  26. - "traefik.enable=true"
  27. - traefik.docker.network=traefik-network
  28. - traefik.constraint-label=traefik-network
  29. - traefik.http.routers.ovpn-http.middlewares=http-to-https
  30. - traefik.http.routers.ovpn-https.rule=Host(`openvpn.odamus.com`)
  31. - traefik.http.routers.ovpn-https.entrypoints=websecure
  32. - traefik.http.routers.ovpn-http.rule=Host(`openvpn.odamus.com`)
  33. - traefik.http.routers.ovpn-http.entrypoints=web
  34. - "traefik.http.routers.ovpn-https.tls.certresolver=mychallenge"
  35. - "traefik.http.services.ovpn.loadbalancer.server.port=1194"
  36. volumes:
  37. ovpn-data:
  38. name: ovpn-data
  39. external: true
  40. backup:
  41. networks:
  42. # traefik-network:
  43. # external: true
  44. traefik-external:
  45. # external:
  46. # name: traefik-external
  47. external: true