Skip to content

u2i/traefik-dev-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traefik Dev Reverse Proxy

Run multiple apps on localhost without port conflicts using hostname-based routing.

Quick Install

curl -sSL https://raw.githubusercontent.com/u2i/traefik-dev-proxy/main/install.sh | bash

This installs:

  • Executable: ~/.local/bin/traefik-dev-proxy
  • Config: ~/.local/share/traefik-dev-proxy
  • Docker network: devnet

Usage

traefik-dev-proxy start       # Start the proxy
traefik-dev-proxy stop        # Stop the proxy
traefik-dev-proxy status      # Check status
traefik-dev-proxy logs        # View logs
traefik-dev-proxy uninstall   # Remove completely

Access Your Apps

  • http://app.localhost:8080
  • http://api.app.localhost:8080 (wildcards work!)
  • http://admin.app.localhost:8080

Note: HTTP-only (no HTTPS) because browsers don't support wildcard *.localhost certificates. Port 8080 is used to avoid needing privileged access for port 80.

App Configuration

In your docker-compose.yml:

services:
  app:
    networks: [appnet, devnet]
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=devnet"
      - "traefik.http.routers.${COMPOSE_PROJECT_NAME}.rule=Host(\`${APP_HOSTNAME}\`) || HostRegexp(\`{subdomain:[a-zA-Z0-9-]+}.${APP_HOSTNAME}\`)"
      - "traefik.http.routers.${COMPOSE_PROJECT_NAME}.entrypoints=web"
      - "traefik.http.services.${COMPOSE_PROJECT_NAME}.loadbalancer.server.port=4000"

networks:
  devnet:
    external: true

In .env.dev:

COMPOSE_PROJECT_NAME=myapp
APP_HOSTNAME=myapp.localhost

Features

✅ Single command install ✅ Wildcard subdomain support ✅ No port conflicts between apps ✅ Auto-resolving .localhost domains ✅ Clean uninstall

Requirements

  • Docker
  • macOS or Linux

Troubleshooting

Port 8080 already in use

If port 8080 is taken, you can use a different port:

DEV_PROXY_PORT=9090 traefik-dev-proxy start

Then access apps at http://app.localhost:9090

404 Not Found

Check that:

  1. Your app is running and on the devnet network
  2. The Traefik labels are correct in your docker-compose.yml
  3. APP_HOSTNAME matches what you're accessing (e.g., myapp.localhost)

About

Self-contained Traefik reverse proxy for local development with SSL support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages