Favicon of Traefik

Traefik

Dynamically route and load balance your microservices with a modern reverse proxy. Automates service discovery, ingress control, and SSL certificate management.

Manage your cloud-native applications with a modern reverse proxy and load balancer designed for microservices. It simplifies networking by automatically discovering and configuring routes for your services as they are deployed. This dynamic approach eliminates the need for manual configuration files, making it ideal for complex, ever-changing environments.

It provides a comprehensive set of features to manage, secure, and observe your traffic:

  • Advanced Traffic Management: Control traffic with flexible Layer 4 and Layer 7 routing, HTTP/3 support, and load balancing. Implement advanced deployment patterns like blue-green and canary releases with ease.
  • Powerful Middleware: Enhance functionality with a rich collection of middlewares for rate limiting, circuit breaking, automatic retries, authentication, and more.
  • Automated Security: Secure your endpoints effortlessly with automatic HTTPS using Let's Encrypt for certificate generation and management. Protect your applications from common threats with a built-in Web Application Firewall (WAF).
  • Seamless Integration: Works as a native Kubernetes Ingress Controller (supporting the Gateway API) and integrates with Docker, Swarm, and other orchestrators. Gain deep insights with built-in support for OpenTelemetry, Prometheus, and other observability tools.

Directory Structure

traefik
letsencrypt
.env
docker-compose.yml

docker-compose.yml

services:
  traefik:
    image: traefik:v3.0
    container_name: traefik
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entryPoints.web.address=:80"
      - "--entryPoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./letsencrypt:/letsencrypt

.env

ACME_EMAIL=admin@example.com
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Traefik

Favicon

 

  
  
Favicon

 

  
  
Favicon