docker-compose.yaml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. services:
  2. traefik:
  3. image: public.ecr.aws/docker/library/traefik:3.5.3
  4. container_name: borgmatic-docs-traefik
  5. command:
  6. - "--global.checkNewVersion=false"
  7. - "--global.sendAnonymousUsage=false"
  8. - "--entrypoints.web.address=:8080"
  9. - "--accesslog"
  10. - "--accesslog.fields.headers.defaultmode=keep"
  11. - "--providers.docker"
  12. - "--providers.docker.exposedbydefault=false"
  13. - "--api.insecure=false"
  14. - "--api.dashboard=false"
  15. - "--log.level=WARN"
  16. ports:
  17. - "127.0.0.1:8080:8080"
  18. volumes:
  19. - ${CONTAINER_SOCKET_PATH:-/run/user/docker.sock}:/var/run/docker.sock:ro
  20. docs:
  21. image: borgmatic-docs
  22. container_name: borgmatic-docs
  23. labels:
  24. - "traefik.enable=true"
  25. - "traefik.http.routers.borgmatic-docs.rule=PathPrefix(`/borgmatic`)"
  26. - "traefik.http.routers.borgmatic-docs.middlewares=borgmatic-trailing-slash-redirectregex,borgmatic-docs-redirectregex,borgmatic-stripprefix"
  27. - "traefik.http.middlewares.borgmatic-trailing-slash-redirectregex.redirectregex.regex=^(.*)/borgmatic$$"
  28. - "traefik.http.middlewares.borgmatic-trailing-slash-redirectregex.redirectregex.replacement=$${1}/borgmatic/"
  29. - "traefik.http.middlewares.borgmatic-trailing-slash-redirectregex.redirectregex.permanent=true"
  30. - "traefik.http.middlewares.borgmatic-docs-redirectregex.redirectregex.regex=^(.*)/borgmatic/docs/(.*)$$"
  31. - "traefik.http.middlewares.borgmatic-docs-redirectregex.redirectregex.replacement=$${1}/borgmatic/$${2}"
  32. - "traefik.http.middlewares.borgmatic-docs-redirectregex.redirectregex.permanent=true"
  33. - "traefik.http.middlewares.borgmatic-stripprefix.stripprefix.prefixes=/borgmatic"
  34. - "traefik.http.routers.borgmatic-docs.entrypoints=web"
  35. build:
  36. dockerfile: docs/Dockerfile
  37. context: ..
  38. args:
  39. ENVIRONMENT: development
  40. message:
  41. image: alpine
  42. container_name: borgmatic-docs-message
  43. command:
  44. - sh
  45. - -c
  46. - |
  47. echo; echo "You can view dev docs at http://localhost:8080/borgmatic/"; echo
  48. depends_on:
  49. - docs