Connect local applications to a shared Traefik development proxy
Project description
Local Development Proxy
A single, persistent Traefik reverse proxy for independent Docker Compose development projects. Applications opt into a shared network while keeping their own lifecycle.
This is local-development infrastructure, not a production proxy configuration.
Quick start
You need Docker Engine or Docker Desktop, Docker Compose 5.x, uv, and loopback port 80 available. Start the proxy without cloning this repository:
uvx local-dev-proxy
Open http://traefik.localhost for the dashboard. The command creates or reconciles the proxy and waits for it to become healthy. To stop and remove it later, run:
uvx local-dev-proxy down
uvx local-dev-proxy uses the current published CLI release. To hold a
specific reviewed version, use uvx local-dev-proxy@1.0.0 instead.
Connect an application
Compose uses the checkout directory as the project name. If that name is unique and contains only lowercase letters, digits, and hyphens, no configuration is needed.
Attach the service to the shared network and opt into Traefik:
services:
web:
networks:
- default
- local-dev-proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=local-dev-proxy"
- "traefik.http.routers.${COMPOSE_PROJECT_NAME}-web.rule=Host(`${COMPOSE_PROJECT_NAME}.localhost`)"
- "traefik.http.services.${COMPOSE_PROJECT_NAME}-web.loadbalancer.server.port=8000"
networks:
local-dev-proxy:
external: true
The application must listen on 0.0.0.0:8000 inside its container. A checkout
directory named my-project is available at http://my-project.localhost after
docker compose up -d, without DNS or /etc/hosts changes.
See Integrating applications for the full contract, explicit service association, secondary services, multiple checkouts, and framework settings.
Or generate the Compose integration interactively with
uvx local-dev-proxy generate; see
Generating a local override.
Documentation
- Architecture — ownership, discovery, networking, and hostname conventions
- Integrating applications — complete Compose examples and application requirements
- Generating Compose configuration — add an existing service or scaffold a Dockerfile or host-native application
- Operating the proxy — lifecycle, upgrades, ports, and inspection
- Troubleshooting — common failures and diagnostic commands
- Security and trust — Docker socket and package-trust risks
- Development and releases — fixtures, tests, CI, and release-candidate checks
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file local_dev_proxy-1.0.0rc2.tar.gz.
File metadata
- Download URL: local_dev_proxy-1.0.0rc2.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a99e4ca24d07f48e09a056b545d3e52c49b373c1e54f4fe94cfab8e1618e8b91
|
|
| MD5 |
3386a251d84bb3b2846c3de2ae24f6fa
|
|
| BLAKE2b-256 |
017afb1e9308364dc425efc797037ae48e5c49b247000ed9ab3ad9321ff5363f
|
File details
Details for the file local_dev_proxy-1.0.0rc2-py3-none-any.whl.
File metadata
- Download URL: local_dev_proxy-1.0.0rc2-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Manjaro Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2347c3a8eadbfa040ab5308b47eb355d67504d40babb294b71c2ee6148f10bbb
|
|
| MD5 |
3bf9ad74fa7841078b7c7a502ee1fd7a
|
|
| BLAKE2b-256 |
d38121752e716e5c4432f340a4eb22680abff7536e28ff6061af385dd202f87a
|