template.yaml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. ---
  2. kind: "compose"
  3. metadata:
  4. name: "Traefik"
  5. description: "Modern reverse proxy and load balancer for microservices"
  6. version: "0.2.0"
  7. author: "Christian Lempa"
  8. date: "2025-10-02"
  9. tags:
  10. - traefik
  11. - reverse-proxy
  12. - load-balancer
  13. - edge-router
  14. spec:
  15. general:
  16. name: "General"
  17. required: true
  18. vars:
  19. accesslog_enabled:
  20. type: "bool"
  21. description: "Enable Traefik access log"
  22. default: false
  23. traefik:
  24. title: "Traefik Settings"
  25. description: "Configure Traefik as a reverse proxy with TLS/ACME support"
  26. vars:
  27. traefik_tls_acme_email:
  28. type: "str"
  29. description: "Email address for ACME (Let's Encrypt) registration"
  30. default: "admin@example.com"
  31. extra: "Required when traefik_tls_enabled is true"
  32. traefik_tls_redirect:
  33. type: "bool"
  34. description: "Redirect all HTTP traffic to HTTPS"
  35. default: true
  36. traefik_tls_acme_provider:
  37. type: "enum"
  38. description: "ACME DNS challenge provider"
  39. default: "cloudflare"
  40. options:
  41. - "cloudflare"
  42. extra: "DNS provider for domain validation"
  43. traefik_tls_acme_token:
  44. type: "str"
  45. description: "DNS provider API token"
  46. default: "your-api-token-here"
  47. sensitive: true
  48. extra: "For Cloudflare, create an API token with Zone:DNS:Edit permissions"
  49. ports:
  50. name: "Ports"
  51. prompt: "Expose ports via 'ports' mapping?"
  52. toggle: "ports_enabled"
  53. vars:
  54. ports_enabled:
  55. type: "bool"
  56. description: "Expose ports via 'ports' mapping"
  57. default: true
  58. traefik_dashboard_enabled:
  59. type: "bool"
  60. description: "Enable Traefik dashboard (don't use in production)"
  61. default: false
  62. extra: "Exposes dashboard on port 8080 in insecure mode"
  63. network:
  64. vars:
  65. network_enabled:
  66. default: true
  67. network_name:
  68. default: "proxy"
  69. authentik:
  70. title: "Authentik Middleware"
  71. description: >
  72. Configure Authentik forward auth middleware for Traefik.
  73. This creates a middleware that can be referenced in your service labels
  74. as 'authentik@file' (or with your custom middleware name).
  75. vars:
  76. authentik_outpost_url:
  77. type: "url"
  78. description: "Authentik outpost URL (e.g., http://authentik-outpost:9000)"
  79. default: "http://authentik-outpost:9000"
  80. traefik_authentik_middleware_name:
  81. type: "str"
  82. description: "Name of the Authentik middleware"
  83. default: "authentik"
  84. extra: "Reference this in router labels as '{name}@file'"