services: traefik: container_name: traefik image: traefik:v3.3 command: --api.insecure=true --providers.docker ports: - 80:80 volumes: - /var/run/docker.sock:/var/run/docker.sock whoami: container_name: whoami image: traefik/whoami:latest labels: traefik.enable: true traefik.http.routers.whoami.rule: Host(`whoami.example.com`) traefik.http.routers.whoami.middlewares: tinyauth tinyauth-frontend: container_name: tinyauth-frontend build: context: . dockerfile: frontend/Dockerfile.dev volumes: - ./frontend/src:/frontend/src ports: - 5173:5173 labels: traefik.enable: true traefik.http.routers.tinyauth.rule: Host(`tinyauth.example.com`) tinyauth-backend: container_name: tinyauth-backend build: context: . dockerfile: Dockerfile.dev args: - VERSION=development - COMMIT_HASH=development - BUILD_TIMESTAMP=000-00-00T00:00:00Z env_file: .env volumes: - ./internal:/tinyauth/internal - ./cmd:/tinyauth/cmd - ./main.go:/tinyauth/main.go - /var/run/docker.sock:/var/run/docker.sock - ./data:/data ports: - 3000:3000 - 4000:4000 labels: traefik.enable: true traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth-backend:3000/api/auth/traefik