# Local development only. Compose merges this automatically; it is not used on # the Pi, where Caddy reaches the container over the shared Docker network and # no host port is published. services: postgres: ports: # Loopback only. Lets `npm test` reach it via TEST_DATABASE_URL and lets # the stdio server use the same index as the HTTP one. - "127.0.0.1:55432:5432" schulcloud-mcp: environment: # The bundled postgres service, reachable by name on the compose network. DATABASE_URL: postgresql://schulcloud:${POSTGRES_PASSWORD:-schulcloud}@postgres:5432/schulcloud # On demand by default while developing. Set CRAWL_INTERVAL_MS in .env to # crawl on a timer instead — what_changed can only report what happened # between crawls, so against a real account on-demand leaves it empty. CRAWL_INTERVAL_MS: ${CRAWL_INTERVAL_MS:-0} ports: # Bound to loopback: this exposes the account's data, and the bearer token # is the only thing in front of it. # MCP_HOST_PORT moves it when 8080 is already taken on this machine. - "127.0.0.1:${MCP_HOST_PORT:-8080}:8080"