Session 0022: Post-Coolify Architecture Context for Ops Toolkit
Date: 2026-02-23
Status: Completed
Origin: MDF Webseiten session 0044 (Coolify Removal Complete)
Work Done
- [x] Coolify fully removed from server (6 containers, 18 UUID networks, /data/coolify/ directory)
- [x] Standalone Traefik v3.6 confirmed as proxy layer (was coolify-proxy, now independent at /opt/data/traefik/)
- [x] All 28 containers verified operational post-removal; 17/17 domains tested
- [x] Dynamic configs migrated: seriousletter.yaml, ringsaday.yaml moved to /opt/data/traefik/dynamic/
- [x] SSL certificates preserved: acme.json migrated to /opt/data/traefik/acme.json
- [x] Coolify archive retained: /opt/data/backups/coolify-final-20260223.tar.gz (125KB, 30-day window)
Key Decisions / Learnings
- Ops toolkit no longer depends on Coolify API — all lifecycle management (start/stop/rebuild/recreate) must use Docker CLI and docker compose directly against project compose files at
/opt/data/{project}/
- Container naming is now clean — no more UUID suffixes. Pattern:
{env}-{project}-{service} (e.g. prod-mdf-wordpress, dev-seriousletter-backend)
- Proxy network is `proxy` (replaces old
coolify network) — all Traefik-exposed containers connect to it
- Project descriptors at `/opt/data/{project}/project.yaml` are the new source of truth for container config — registry.yaml is deprecated (used only by gen-timers and schedule PUT)
- Docker provider + file provider coexist in Traefik: MDF services use Docker labels; SeriousLetter, RingsADay, KioskPilot use file provider configs
- metro.ringsaday.com returns 502 — pre-existing issue unrelated to Coolify removal (no metro service in compose)
- Docker system cleanup freed ~9GB of unused images and volumes during removal
Architecture Reference (Post-Coolify)
```
Proxy: Traefik v3.6 at /opt/data/traefik/
Config: traefik.yaml (static), dynamic/ (file provider)
Certs: /opt/data/traefik/acme.json
Proxy network: proxy
Projects:
MDF prod: /opt/data/mdf/prod/ — WordPress, MySQL, Mail, PostfixAdmin, Roundcube, Seafile
MDF int/dev: /opt/data/mdf/{int,dev}/ — WordPress + MySQL
SeriousLetter: /opt/data/seriousletter/{dev,int,prod}/
RingsADay: /opt/data/ringsaday/
KioskPilot: /opt/data/kioskpilot/
Ops Dashboard: /opt/data/ops-dashboard/
```
Files Changed
- Server:
/data/coolify/ — deleted (backed up first)
- Server:
/opt/data/traefik/dynamic/ — received migrated seriousletter.yaml and ringsaday.yaml
Tags: #Session #OpsToolkit #Architecture #Traefik #PostCoolify