# second-brain web — compose file for herbys-dev (10.0.21.207). # # House style: file is named `compose.yml`, no bare `docker run`. # Bring up with: docker compose up -d --build # Tear down with: docker compose down # # The Traefik VM lives on a different host (10.0.11.20) and uses the # file provider, NOT docker label discovery. We therefore publish the # uvicorn port back to a fixed host:port that Traefik's static service # definition can point at. There are deliberately NO traefik.* labels # in this file — they'd be silently ignored. # # The DB connection is the **containerised** one: `homelab-postgres:5432` # on the homelab bridge network. Do NOT switch this to 127.0.0.1:5433 # from the container — that loops back inside the container, not the host. services: second-brain-web: build: context: ../.. dockerfile: deploy/web/Dockerfile image: second-brain-web:latest container_name: second-brain-web restart: unless-stopped env_file: - .env environment: SECOND_BRAIN_CONFIG: /app/config/settings.toml volumes: - ../../config/settings.toml:/app/config/settings.toml:ro networks: - homelab # Bind to the herbys-dev LAN IP only so this isn't accidentally # exposed on other interfaces. Traefik (10.0.11.20) reaches the # service at http://10.0.21.207:8080 via the LAN. ports: - "10.0.21.207:8080:8000" networks: homelab: external: true