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>
24 lines
984 B
YAML
24 lines
984 B
YAML
# The Pi's additions to docker-compose.yml — see docs/PI.md.
|
|
#
|
|
# Selected by one line in the Pi's .env, so plain `docker compose` commands use it:
|
|
#
|
|
# COMPOSE_FILE=docker-compose.yml:deploy/docker-compose.pi.yml
|
|
#
|
|
# Setting COMPOSE_FILE also keeps docker-compose.override.yml out. That file is
|
|
# for local development only, and Compose would otherwise merge it silently: it
|
|
# publishes ports and turns the crawl timer off.
|
|
|
|
services:
|
|
schulcloud-mcp:
|
|
environment:
|
|
# The bundled Postgres, by name on the private backend network. Overrides
|
|
# any DATABASE_URL in .env.
|
|
DATABASE_URL: postgresql://schulcloud:${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env}@postgres:5432/schulcloud
|
|
|
|
networks:
|
|
caddy:
|
|
# Join the network the Pi's Caddy container is already on, so Caddy reaches
|
|
# this server by name and no host port is published.
|
|
external: true
|
|
name: ${CADDY_NETWORK:?set CADDY_NETWORK in .env to the Docker network of your Caddy container}
|