{ "slug": "traefik", "kind": "compose", "metadata": { "name": "Traefik", "description": "Modern HTTP reverse proxy and load balancer designed for microservices. Provides automatic service discovery, Let's Encrypt TLS, and a built-in dashboard.", "tags": [ "reverse-proxy" ], "icon": { "provider": "devicon", "id": "traefikproxy", "color": "sky" }, "draft": false, "version": { "name": "v3.6.15", "source_dep_name": "docker.io/library/traefik", "source_dep_version": "v3.6.15" } }, "variables": [ { "name": "general", "title": "General", "items": [ { "name": "container_timezone", "type": "str", "title": "Container Timezone", "required": true, "default": "UTC", "config": { "placeholder": "UTC" } }, { "name": "container_loglevel", "type": "enum", "title": "Log Level", "required": false, "config": { "options": [ "debug", "info", "warn", "error" ] } }, { "name": "restart_policy", "type": "enum", "title": "Restart Policy", "required": true, "default": "unless-stopped", "config": { "options": [ "unless-stopped", "always", "on-failure", "no" ] } } ] }, { "name": "ports", "title": "Ports", "items": [ { "name": "ports_dashboard", "type": "int", "title": "Dashboard Port", "required": true, "default": 8080, "description": "Dashboard port (external)", "config": { "placeholder": "8080" }, "needs": [ "dashboard_enabled=true" ] }, { "name": "ports_http", "type": "str", "title": "HTTP Port", "required": false, "default": 80, "config": { "placeholder": "80" } }, { "name": "ports_https", "type": "str", "title": "HTTPS Port", "required": false, "default": 443, "config": { "placeholder": "443" } } ] }, { "name": "traefik", "title": "Traefik", "items": [ { "name": "traefik_network", "type": "str", "title": "Network", "required": true, "default": "proxy", "config": { "placeholder": "proxy" } }, { "name": "traefik_network_external", "type": "bool", "title": "External Network", "required": false, "default": false }, { "name": "traefik_tls_enabled", "type": "bool", "title": "TLS", "required": false, "default": false }, { "name": "traefik_tls_certresolver", "type": "enum", "title": "DNS Provider", "required": true, "default": "cloudflare", "config": { "options": [ "cloudflare", "porkbun", "godaddy", "digitalocean", "route53", "azure", "namecheap", "netcup", "ovh" ] }, "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_acme_email", "type": "str", "title": "ACME Email", "required": true, "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_acme_endpoint", "type": "str", "title": "OVH Endpoint", "required": false, "default": "ovh-eu", "config": { "placeholder": "ovh-eu" }, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=ovh" ] }, { "name": "traefik_tls_acme_region", "type": "str", "title": "AWS Region", "required": true, "default": "us-east-1", "config": { "placeholder": "us-east-1" }, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=route53" ] }, { "name": "traefik_tls_acme_resource_group", "type": "str", "title": "Azure Group", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=azure" ] }, { "name": "traefik_tls_acme_customer_number", "type": "str", "title": "Customer Number", "required": true, "description": "Netcup customer number used for the ACME DNS challenge.", "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=netcup" ], "config": { "placeholder": "123456" } }, { "name": "traefik_tls_acme_token", "type": "secret", "title": "API Token", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=cloudflare,digitalocean,godaddy,namecheap,ovh,porkbun,netcup" ] }, { "name": "traefik_tls_acme_secret_key", "type": "secret", "title": "Secret Key", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=azure,godaddy,ovh,porkbun,route53,netcup" ] }, { "name": "traefik_tls_acme_subscription_id", "type": "str", "title": "Subscription ID", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=azure" ] }, { "name": "traefik_tls_acme_tenant_id", "type": "str", "title": "Tenant ID", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=azure" ] }, { "name": "traefik_tls_acme_username", "type": "str", "title": "Username", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=namecheap" ] }, { "name": "traefik_tls_acme_consumer_key", "type": "secret", "title": "Consumer Key", "required": true, "needs": [ "traefik_tls_enabled=true", "traefik_tls_certresolver=ovh" ] }, { "name": "traefik_tls_redirect", "type": "bool", "title": "HTTP Redirect", "required": false, "default": true, "description": "Redirect all HTTP traffic to HTTPS", "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_secure_ciphers", "type": "bool", "title": "Strict Ciphers", "required": false, "default": false, "description": "Enable strict cipher suites (recommended)", "needs": [ "traefik_tls_enabled=true" ] }, { "name": "traefik_tls_skipverify", "type": "bool", "title": "TLS Verify", "required": false, "default": false, "description": "Skip TLS verification for backend servers", "needs": [ "traefik_tls_enabled=true" ] }, { "name": "accesslog_enabled", "type": "bool", "title": "Access Log", "required": false, "default": false }, { "name": "dashboard_enabled", "type": "bool", "title": "Dashboard", "required": false, "default": false }, { "name": "prometheus_enabled", "type": "bool", "title": "Prometheus", "required": false, "default": false }, { "name": "security_enabled", "type": "bool", "title": "Security Headers", "required": false, "default": true, "description": "Create production-ready security headers middleware" } ] }, { "name": "volume", "title": "Volume", "items": [ { "name": "volume_mode", "type": "enum", "title": "Volume Mode", "required": true, "default": "local", "config": { "options": [ "local", "mount", "nfs" ] } }, { "name": "volume_mount_path", "type": "str", "title": "Volume Mount Path", "required": true, "default": "/data", "config": { "placeholder": "/data" }, "needs": [ "volume_mode=mount" ] }, { "name": "volume_nfs_server", "type": "str", "title": "Volume Nfs Server", "required": true, "default": "NFS_SERVER", "config": { "placeholder": "NFS_SERVER" }, "needs": [ "volume_mode=nfs" ] }, { "name": "volume_nfs_path", "type": "str", "title": "Volume Nfs Path", "required": true, "default": "/export", "config": { "placeholder": "/export" }, "needs": [ "volume_mode=nfs" ] }, { "name": "volume_nfs_options", "type": "str", "title": "Volume Nfs Options", "required": true, "default": "rw,nolock,soft", "config": { "placeholder": "rw,nolock,soft" }, "needs": [ "volume_mode=nfs" ] } ] } ] }