Traefik is a HTTP reverse proxy and load balancer for microservices. It integrates with popular orchestration systems, such as Kubernetes, to provide seamless and automatic service discovery, load balancing, and proxying for your applications. Traefik is designed to be fast, efficient, and easy to use, making it a good solution for home lab environments. With Traefik, you can expose your applications to the internet with ease, providing remote access to your services from anywhere. Whether you're looking to host a personal website, run a web-based service, or simply provide external access to your applications.
Install with:
helm repo add traefik-charts https://helm.traefik.io/traefik/
helm install traefik traefik-charts/traefik -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
traefik | tyriis/home-ops | 55 | 34.4.1 | 24 days ago |
traefik | h3mmy/bloopySphere | 62 | 29.0.1 | 9 months ago |
See the most popular values for this chart:
Key | Types |
---|---|
globalArguments[] (21) - --api.insecure=true | string |
boolean | |
boolean | |
string | |
ports.websecure.tls.domains[].main (3) ${SECRET_DOMAIN} | string |
ports.websecure.tls.domains[].sans[] (3) - *.${SECRET_DOMAIN} | string |
ports.websecure.tls.domains[].bloop (1) ${SECRET_DOMAIN} | string |
ports.websecure.tls.domains[].lilj (1) ${LILJ_DOMAIN} | string |
ports.websecure.tls.domains[].tyg3r (1) ${TGR_DOMAIN} | string |
string | |
ports.websecure.tls.stores (2) networking-default@kubernetescrd | string |
number | |
boolean | |
ports.websecure.forwardedHeaders.trustedIPs[] (3) - "10.0.0.0/8" | string |
number | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
number | |
boolean | |
ports.websecure.middlewares[] (1) - network-errors@kubernetescrd | string |
ports.websecure.proxyProtocol.trustedIPs[] (1) - "192.168.1.0/24" | string |
ports.websecure.trustedIPs[] (1) - ${CALICO_NODE_CIDR} | string |
number | |
number | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
number | |
number | |
string | |
ports.web.redirectTo.port (4) websecure | string |
number | |
ports.web.redirectTo (9) websecure | string |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
ports.web.redirections.port (1) websecure | string |
number | |
number | |
string | |
boolean | |
boolean | |
number | |
number | |
boolean | |
number | |
number | |
boolean | |
string | |
boolean | |
number | |
number | |
string | |
boolean | |
number | |
number | |
string | |
boolean | |
number | |
number | |
boolean | |
ports.ldaps.tls.options (1) default | string |
boolean | |
number | |
number | |
string | |
boolean | |
number | |
number | |
boolean | |
ports.mqtts.tls.options (1) default | string |
boolean | |
number | |
number | |
boolean | |
boolean | |
number | |
number | |
string | |
boolean | |
number | |
number | |
string | |
boolean | |
boolean | |
number | |
string | |
boolean | |
number | |
number | |
boolean | |
ports.wss.tls.options (1) default | string |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
logs.access.filters.statuscodes (1) 200,300-302 | string |
string | |
string | |
boolean | |
service.type (20) LoadBalancer | string |
string | |
service.spec.loadBalancerIP (13) ${METALLB_TRAEFIK_ADDR} | string |
service.spec.LoadBalancerIPs (1) ${CLUSTER_LB_TRAEFIK} | string |
service.annotations."io.cilium/lb-ipam-ips" (4) ${CLUSTER_LB_TRAEFIK} | string |
string | |
string | |
service.annotations."external-dns.alpha.kubernetes.io/hostname" (1) kyz.${SECRET_PUBLIC_DOMAIN} | string |
service.annotations."metallb.io/loadBalancerIP" (1) ${LB_TRAEFIK_ADDRESS} | string |
service.annotations."metallb.io/loadBalancerIPs" (1) ${LB_TRAEFIK_ADDR} | string |
service.annotations."metallb.universe.tf/loadBalancerIPs" (1) ${LB_V4_TRAEFIK}, ${LB_V6_TRAEFIK} | string |
service.single (3) false | boolean |
string | |
service.ipFamilies[] (2) - IPv4 | string |
service.ipFamilyPolicy (2) RequireDualStack | string |
service.loadBalancerIPs[] (2) - ${LB_IP} | string |
string | |
string | |
string | |
string | |
tlsOptions.default.minVersion (18) VersionTLS12 | string |
boolean | |
tlsOptions.default.maxVersion (17) VersionTLS13 | string |
tlsOptions.default.cipherSuites[] (2) - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA | string |
tlsOptions.default.curvePreferences[] (2) - X25519 | string |
boolean | |
tlsOptions.plex.maxVersion (1) VersionTLS13 | string |
tlsOptions.plex.minVersion (1) VersionTLS12 | string |
additionalArguments[] (17) - --providers.kubernetesingress.ingressendpoint.ip=${METALLB_TRAEFIK_ADDR} | string |
number | |
deployment.kind (16) Deployment | string |
boolean | |
deployment.initContainers[].command[] (1) - sh | string |
deployment.initContainers[].image (1) busybox:1.35.0 | string |
deployment.initContainers[].name (1) volume-permissions | string |
string | |
string | |
number | |
boolean | |
number | |
pilot.enabled (15) false | boolean |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
providers.kubernetesIngress.ingressEndpoint.ip (3) ${TRAEFIK_IP} | string |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
experimental.plugins.real-ip.moduleName (1) github.com/Paxxs/traefik-get-real-ip | string |
string | |
experimental.plugins.traefik-plugin-blockuseragent.moduleName (1) github.com/agence-gaya/traefik-plugin-blockuseragent | string |
string | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
metrics.prometheus.serviceMonitor.metricRelabelings[].regex (2) ^fluentd_output_status_buffer_(oldest|newest)_.+ | string |
string | |
string | |
string | |
metrics.prometheus.serviceMonitor.namespace (2) network-system | string |
string | |
string | |
string | |
string | |
metrics.prometheus.serviceMonitor.relabelings[].sourceLabels[] (2) - __meta_kubernetes_pod_node_name | string |
string | |
string | |
string | |
string | |
boolean | |
metrics.prometheus.prometheusRule.namespace (2) network-system | string |
string | |
metrics.prometheus.prometheusRule.rules[].annotations.description (2) {{ $labels.pod }} on {{ $labels.nodename }} is down | string |
string | |
metrics.prometheus.prometheusRule.rules[].expr (2) up{job="traefik"} == 0 | string |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
image.name (5) traefik | string |
image.repository (4) traefik | string |
image.tag (3) 2.6.7 | string |
image.pullPolicy (1) IfNotPresent | string |
image.registry (1) public.ecr.aws/docker/library | string |
string | |
string | |
string | |
string | |
affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels."app.kubernetes.io/instance" (1) {{ .Release.Name }}-{{ .Release.Namespace }} | string |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
autoscaling.metrics[].resource.target.type (1) Utilization | string |
autoscaling.metrics[].type (1) Resource | string |
string | |
env[].value (3) ${CLUSTER_TIMEZONE} | string |
env[].valueFrom.secretKeyRef.key (1) CLOUDFLARE_API_KEY | string |
env[].valueFrom.secretKeyRef.name (1) home-secrets | string |
boolean | |
rbac.enabled (3) true | boolean |
rbac.namespaced (1) false | boolean |
number | |
number | |
string | |
tlsStore.default.certificates[].secretName (1) wildcard-tls | string |
boolean | |
persistence.path (2) /certs | string |
persistence.size (2) 128Mi | string |
persistence.accessMode (1) ReadWriteOnce | string |
string | |
persistence.storageClass (1) filesystem | string |
number | |
string | |
boolean | |
number | |
boolean | |
number | |
number | |
string | |
certResolvers.letsencrypt.dnsChallenge.resolvers[] (1) - "1.1.1.1" | string |
certResolvers.letsencrypt.email (1) nick@shoresmedia.com | string |
certResolvers.letsencrypt.storage (1) /data/acme.json | string |
boolean | |
string | |
fullnameOverride (1) traefik | string |
string | |
boolean | |
string | |
number | |
gateway.listeners.websecure.certificateRefs[].name (1) ${SECRET_DOMAIN}-tls | string |
gateway.listeners.websecure.mode (1) Terminate | string |
string | |
number | |
string | |
gateway.name (1) external | string |
boolean | |
gatewayClass.name (1) external | string |
hostNetwork (1) false | boolean |
number | |
number | |
number | |
number | |
number | |
nodeSelector.location (1) on-prem | string |
boolean | |
string | |
number | |
number | |
number | |
number | |
number | |
string | |
tolerations[].key (1) node-role.kubernetes.io/master | string |
string | |
topologySpreadConstraints[].labelSelector.matchLabels.app (1) {{ template "traefik.name" . }} | string |
number | |
topologySpreadConstraints[].topologyKey (1) kubernetes.io/hostname | string |
topologySpreadConstraints[].whenUnsatisfiable (1) DoNotSchedule | string |
string | |
volumes[].name (1) traefik-config | string |
volumes[].type (1) configMap | string |