This release is a pre-release and may not be stable for production use.
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
Metadata
Release files for local-dev-proxy 1.0.0rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| local_dev_proxy-1.0.0rc2.tar.gz | 10.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| local_dev_proxy-1.0.0rc2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.8 kB
Release files / local_dev_proxy-1.0.0rc2.tar.gz
| Download URL | local_dev_proxy-1.0.0rc2.tar.gz |
|---|---|
| Size | 10.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a99e4ca24d07f48e09a056b545d3e52c49b373c1e54f4fe94cfab8e1618e8b91
|
|
BLAKE2b-256 checksum How to use checksums |
017afb1e9308364dc425efc797037ae48e5c49b247000ed9ab3ad9321ff5363f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / local_dev_proxy-1.0.0rc2-py3-none-any.whl
| Download URL | local_dev_proxy-1.0.0rc2-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2347c3a8eadbfa040ab5308b47eb355d67504d40babb294b71c2ee6148f10bbb
|
|
BLAKE2b-256 checksum How to use checksums |
d38121752e716e5c4432f340a4eb22680abff7536e28ff6061af385dd202f87a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|