Built a composable, YAML-driven container framework at container_framework/:
caddy, calcom, excalidraw, jupyter, logseq, mermaid, mlflow, neo4j, zotero (zotero retained as optional, not in deployed core stack — see paper library architecture)core, research, neo4j-onlystack_manager.py — CLI for list, compose, up, down, build, pushTested Neo4j OLS4 (24GB) with both runtimes:
| | Docker | Podman |
|---|---|---|
| Volume mounts | ✅ Works (sudo) | ⚠️ UID mapping chown errors |
| Image names | Short names OK | Needs docker.io/library/ prefix |
| Security | Root daemon | Rootless by default |
8 containers running on cytohost (34.122.154.49):
| Container | Status | Internal Routing |
|---|---|---|
| Caddy (reverse proxy) | ✅ Running | Ports 80/443 |
| Cal.com | ✅ Running | cal.cytognosis.org → :3000 |
| Excalidraw | ✅ Running | whiteboard.cytognosis.org → :80 |
| Excalidraw Room | ✅ Running | Collab backend |
| Mermaid Live Editor | ✅ Running | mermaid.cytognosis.org → :8080 |
| Logseq Web | ✅ Running | notes.cytognosis.org → :80 |
| MLflow | ✅ Running | mlflow.cytognosis.org → :5000 |
| Postgres (Cal.com DB) | ✅ Healthy | Internal :5432 |
Running on research-stack-server (34.61.134.177):
Created .github/workflows/build-containers.yml:
To complete the deployment, create these DNS A records pointing to 34.122.154.49:
cal.cytognosis.orgwhiteboard.cytognosis.orgmermaid.cytognosis.orgnotes.cytognosis.orgmlflow.cytognosis.orgOnce DNS propagates, Caddy will auto-provision Let's Encrypt HTTPS certificates.