Skip to content

Traefik

A reverse proxy and load balancer that configures itself from your container or orchestrator.

Stars
65.4k
Forks
6.3k
Licence
MIT
Language
Go
Last update
4 days ago
Type
App

What it is

Traefik is an HTTP reverse proxy and load balancer. It sits in front of your web services and sends incoming traffic to the right one. Instead of writing routes by hand, it reads information from systems like Docker, Kubernetes, or Consul and updates its routing automatically as services start, stop, or scale.

  • Route paths and subdomains to several microservices behind one address
  • Get HTTPS certificates for services automatically through Let's Encrypt
  • Balance traffic across service instances and add retries or circuit breakers
  • Collect metrics and access logs from incoming traffic

Great for

  • Teams running many microservices in Docker, Swarm, or Kubernetes
  • Operators who change services often and do not want to edit proxy routes each time
  • People who want automatic HTTPS certificates via Let's Encrypt
  • Projects that need built-in metrics, access logs, or a REST API for the proxy

Not ideal for

  • A single static website or one app on one server, where a simpler web server may be enough (the README is aimed at dynamic microservice setups)
  • People who want a fully managed service with no configuration (the README describes it as configured by pointing it at an orchestrator, but you still need to set it up)
Step-by-step guide: how to use TraefikInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: Docker

    Run the official Docker image with a sample config

    docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik

    Get the sources

    git clone https://github.com/traefik/traefik
  2. 2

    Run it

    • Download the sample configuration file linked in the README
    • Run the Docker command with your traefik.toml mounted
    • Follow the 5-Minute Quickstart in the documentation to route a first service
    • Open the web UI to check the providers and routes
  3. 3

    Get the most out of it

    • Use the Docker, Kubernetes, or ECS provider so routes are generated from your services automatically
    • Use Let's Encrypt for HTTPS, including wildcard certificates as the README notes
    • Turn on Prometheus or other metrics and JSON access logs to watch traffic
    • Use the REST API to inspect the proxy's state

Downloads

Strengths

  • Updates its configuration automatically without restarts, according to the README
  • Ships as a single binary or an official Docker image
  • Supports many backends including Docker, Kubernetes, Consul, and ECS

Trade-offs

  • Its many options and providers mean a real setup takes time to learn, and the README points to external docs for detail
  • The README is truncated here, so specifics of performance or limits are not covered
  • Major version upgrades can include breaking changes, so the migration guide must be read

How it compares

ProjectStarsTypeLevelUpdatedBest for
traefik (this)65.4kAppintermediate4 days agoTeams running many microservices in Docker, Swarm, or Kubernetes
gf13.3kFrameworkintermediate7 days agoGo developers looking for a full-featured framework
dokku32.2kAppintermediate4 days agoDevelopers who want Heroku-style deployment on a server they control
nginx-proxy19.9kDev toolintermediate4 days agoPeople running several web apps on one Docker host who want one public port 80 entry point
verdaccio18kAppbeginner4 days agoTeams that want to share private npm packages inside a company
gluetun16kAppintermediate8 days agoPeople who want one Docker container to run traffic through a VPN for other containers

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.