Files
led2/docker-compose.prod.yml
Claude a21962cbcf feat(01-03): integration wiring, Docker deployment, lightsync.groll.cloud
- Fix API routing: redirect_slashes=False + strip trailing slashes from route paths
- Fix StaticFiles catch-all intercepting /api/* before FastAPI redirect
- Add [tool.hatch.build.targets.wheel] to pyproject.toml for Docker builds
- Install docker-compose plugin (v2.34.0) as CLI plugin
- Create Dockerfile (python:3.11-alpine, CMD python -m lightsync)
- Create docker-compose.prod.yml (Traefik + Authelia, edge network)
- Deploy lightsync container to lightsync.groll.cloud
- Add LightSync entry to start/projects.json
- Update frontend app.js to use /api/devices (no trailing slash)
2026-04-05 18:59:34 +00:00

25 lines
688 B
YAML

services:
lightsync:
build: .
container_name: lightsync
restart: unless-stopped
environment:
HOST: 0.0.0.0
PORT: "8000"
volumes:
- ./shows:/app/shows
- ./devices.json:/app/devices.json
networks:
- edge
labels:
- "traefik.enable=true"
- "traefik.http.routers.lightsync.rule=Host(`lightsync.groll.cloud`)"
- "traefik.http.routers.lightsync.entrypoints=websecure"
- "traefik.http.routers.lightsync.tls.certresolver=letsencrypt"
- "traefik.http.routers.lightsync.middlewares=authelia@docker"
- "traefik.http.services.lightsync.loadbalancer.server.port=8000"
networks:
edge:
external: true