build(deploy)!: the instance's compose file is compose.learn.yaml, beside compose.train.yaml and compose.todo.yaml

No file has Compose's default name any more, so .env's COMPOSE_FILE is always set,
naming compose.learn.yaml first (.env.example sets it). compose.yaml stays as a link to
compose.learn.yaml for the one deploy that switches learn.halkyon.eu's .env over: the
deploy's merge runs with the COMPOSE_FILE from before. A later commit removes it.

BREAKING CHANGE: an instance's deploy/.env must set COMPOSE_FILE, starting with
compose.learn.yaml, before the link goes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-02 22:06:18 +01:00
commit 3ac1880ac8
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -4,7 +4,7 @@ Services an instance may run beside itself (decided 2026-10-14), each switched o
naming its compose file after the instance's own in `deploy/.env`:
```sh
COMPOSE_FILE=compose.yaml:compose.jellyfin.yaml
COMPOSE_FILE=compose.learn.yaml:compose.jellyfin.yaml
```
A sidecar's compose file adds its service and, if it is reached from outside, mounts
@ -25,7 +25,7 @@ site changes.
| Photon, which finds places for Train's route planner, beside Train | `compose.search.yaml` | none |
| Halkyon Todo's server | `compose.todo.yaml` | `todo.caddy` |
Both together: `COMPOSE_FILE=compose.yaml:compose.jellyfin.yaml:compose.languagetool.yaml`.
Both together: `COMPOSE_FILE=compose.learn.yaml:compose.jellyfin.yaml:compose.languagetool.yaml`.
## Jellyfin
@ -63,7 +63,7 @@ Steps, in order; ✱ marks a step as root.
`deploy/.env`,
```sh
COMPOSE_FILE=compose.yaml:compose.jellyfin.yaml
COMPOSE_FILE=compose.learn.yaml:compose.jellyfin.yaml
JELLYFIN_DOMAIN=jellyfin.example.org
```
@ -221,7 +221,7 @@ home machine.
`deploy/.env`, `JELLYFIN_URL` left empty,
```sh
COMPOSE_FILE=compose.yaml:compose.jellyfin-home.yaml
COMPOSE_FILE=compose.learn.yaml:compose.jellyfin-home.yaml
JELLYFIN_DOMAIN=jellyfin.halkyon.eu
```
@ -283,7 +283,7 @@ Steps, in order; ✱ marks a step as root.
```
2. **Switch it on** (the operator, on the instance's server, as `deploy`): in
`deploy/.env`, `COMPOSE_FILE=compose.yaml:compose.languagetool.yaml`.
`deploy/.env`, `COMPOSE_FILE=compose.learn.yaml:compose.languagetool.yaml`.
3. **Start it** (the operator, on the instance's server, as `deploy`):
`cd ~/halkyon/deploy && docker compose up -d`. The server is recreated with it
@ -361,7 +361,7 @@ Steps, in order; ✱ marks a step as root.
added to `COMPOSE_FILE`, and Train's settings (`.env.example`, *With Halkyon Train*):
```sh
COMPOSE_FILE=compose.yaml:compose.languagetool.yaml:compose.train.yaml
COMPOSE_FILE=compose.learn.yaml:compose.languagetool.yaml:compose.train.yaml
TRAIN_DOMAIN=train.halkyon.eu
TRAIN_POSTGRES_PASSWORD=<as in step 2>
TRAIN_SESSION_KEY_HASH_PEPPER=<openssl rand -hex 32>
@ -414,7 +414,7 @@ Steps, in order; ✱ marks a step as root.
added to `COMPOSE_FILE` after Train's, and the secret the keys are made with:
```sh
COMPOSE_FILE=compose.yaml:compose.languagetool.yaml:compose.train.yaml:compose.maps.yaml
COMPOSE_FILE=compose.learn.yaml:compose.languagetool.yaml:compose.train.yaml:compose.maps.yaml
MAP_KEY_SECRET=<openssl rand -hex 32>
```
@ -460,7 +460,7 @@ Steps, in order; ✱ marks a step as root.
added to `COMPOSE_FILE` after Train's:
```sh
COMPOSE_FILE=compose.yaml:compose.languagetool.yaml:compose.train.yaml:compose.maps.yaml:compose.search.yaml
COMPOSE_FILE=compose.learn.yaml:compose.languagetool.yaml:compose.train.yaml:compose.maps.yaml:compose.search.yaml
```
4. **Start it** (the operator, as `deploy`): `docker compose up -d --build`. Train's
@ -506,7 +506,7 @@ Steps, in order:
added to `COMPOSE_FILE`, and Todo's settings (`.env.example`, *With Halkyon Todo*):
```sh
COMPOSE_FILE=compose.yaml:compose.languagetool.yaml:compose.train.yaml:compose.todo.yaml
COMPOSE_FILE=compose.learn.yaml:compose.languagetool.yaml:compose.train.yaml:compose.todo.yaml
TODO_DOMAIN=todo.halkyon.eu
TODO_POSTGRES_PASSWORD=<as in step 1>
TODO_SESSION_KEY_HASH_PEPPER=<openssl rand -hex 32>