Create web-based user interfaces with Python. The nice way.
docker pull library/traefik
docker run -d --name nicegui -p 80:80 --restart always traefik:v2.3
podman run -d --name nicegui -p 80:80 --restart always traefik:v2.3
skopeo inspect docker://docker.io/library/traefik:v2.3
oras pull traefik:v2.3
docker compose up -d
services:
app:
build:
context: ./
dockerfile: development.dockerfile
ports:
- 80:8080
volumes:
- ./:/app
- /app/.venv # anonymous volume to not sync the local venv, see here: https://docs.astral.sh/uv/guides/integration/docker/#developing-in-a-container
labels:
- traefik.http.routers.app.rule=PathPrefix(`/app`)
- traefik.http.services.app.loadbalancer.server.port=8080
- traefik.http.middlewares.app-prefix.stripprefix.prefixes=/app
- traefik.http.middlewares.app-prefix.stripprefix.forceSlash=false # see https://doc.traefik.io/traefik/middlewares/stripprefix/#forceslash
- traefik.http.routers.app.middlewares=app-prefix
# setup a proxy to test hosting on a sub-path; here localhost:8080/app
proxy:
image: traefik:v2.3
command:
- --providers.docker
- --accesslog # http access log
- --log #Traefik log, for configurations and errors
- --api # Enable the Dashboard and API
ports:
- "8888:80"
volumes:
# Traefik must be able to listen for Docker events
- /var/run/docker.sock:/var/run/docker.sock