Files
Schulcloud-MCP/docker-compose.override.yml
MechaCat02 bac91303bf Add a setup guide for the Pi, and a compose file its .env selects
docs/PI.md goes from a Pi with Docker to a working claude.ai connector:
configuration, the first token, Caddy, DNS, the VPS forwarding raw TCP,
checks from outside, connecting the clients, the monthly token, updates,
backups and troubleshooting.

docker-compose.override.yml is tracked, so Compose would have merged it on
the Pi as well — publishing ports and switching the crawl timer off. The
Pi's .env sets COMPOSE_FILE to add deploy/docker-compose.pi.yml instead,
which joins the existing Caddy network by name and builds DATABASE_URL, so
nothing tracked needs editing there. Postgres moves to a private network
shared only with the server.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 20:19:17 +02:00

25 lines
1.2 KiB
YAML

# Local development only. Compose merges this automatically whenever
# COMPOSE_FILE is unset — which is why the Pi's .env sets COMPOSE_FILE to
# deploy/docker-compose.pi.yml instead (docs/PI.md): there, 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"