VM700 — Docker Stack Map
Complete inventory of all Docker Compose stacks running on VM700.
EchoHuman Stacks
echohuman-twenty (/opt/stacks/echohuman-twenty/)
| Container | Image | Port | Status | Role |
|---|---|---|---|---|
| echohuman-twenty-server-1 | twentycrm/twenty:latest | 7010→3000 | healthy | Web server + API |
| echohuman-twenty-worker-1 | twentycrm/twenty:latest | — | running | Background jobs |
| echohuman-twenty-db-1 | postgres:16 | — | healthy | Local Postgres |
| echohuman-twenty-redis-1 | redis | — | healthy | Cache/queue |
Status: Running (4 containers) Public URL: https://crm.echohuman.org (via CT101 Caddy:7010) Database: Local Postgres (not CT320) First-boot time: ~25–35 minutes
echohuman-matomo (/opt/stacks/echohuman-matomo/)
| Container | Image | Port | Status | Role |
|---|---|---|---|---|
| echohuman_matomo_app | matomo:latest | 7020→80 | running | Matomo PHP app |
| echohuman_matomo_db | mariadb:10.11 | — | running | MariaDB database |
Status: Running (2 containers) Public URL: https://analytics.echohuman.org (via CT101 Caddy:7020) Database: Local MariaDB
echohuman-docsaurus (/opt/stacks/echohuman-docsaurus/)
| Container | Image | Port | Status | Role |
|---|---|---|---|---|
| echohuman_docsaurus_nginx | nginx:alpine | 7030→80 | running | Static site server |
Status: Running (1 container)
Public URL: https://docsaurus.echohuman.org (via CT101 Caddy:7030)
Content: Static Docusaurus build from Vera
Mount: /opt/stacks/echohuman-docsaurus/site-build:/usr/share/nginx/html:ro
Hosted Services
twenty — Lifehouse (/opt/twenty/)
| Container | Image | Port | Status | Role |
|---|---|---|---|---|
| twenty-server-1 | twentycrm/twenty:latest | 3000→3000 | healthy | Web server + API |
| twenty-worker-1 | twentycrm/twenty:latest | — | created | Background jobs |
| twenty-db-1 | postgres:16 | — | healthy | Local Postgres |
| twenty-redis-1 | redis | — | healthy | Cache/queue |
Status: Running (3 active, 1 created) Public URL: https://crm.lifehousestroud.org.uk (via CT101 Caddy:3000) Database: Local Postgres (not CT320) Note: Lifehouse is a hosted/client/workstream service — do not modify
zulip (/opt/zulip/)
| Container | Image | Port | Status | Role |
|---|---|---|---|---|
| zulip-zulip-1 | ghcr.io/zulip/zulip-server:12.0-0 | 3001→80 | starting | Zulip chat server |
Status: Running (1 container, health check starting) Port: 3001 (internal) Note: Zulip chat service
Stack Summary
| Stack | Location | Containers | Status | Public |
|---|---|---|---|---|
| echohuman-twenty | /opt/stacks/echohuman-twenty/ | 4 | running | Yes (7010) |
| echohuman-matomo | /opt/stacks/echohuman-matomo/ | 2 | running | Yes (7020) |
| echohuman-docsaurus | /opt/stacks/echohuman-docsaurus/ | 1 | running | Yes (7030) |
| twenty (Lifehouse) | /opt/twenty/ | 4 | running | Yes (3000) |
| zulip | /opt/zulip/ | 1 | running | No (3001) |
Port Assignments
| Port | Service | Stack | Status |
|---|---|---|---|
| 3000 | Lifehouse Twenty CRM | twenty | running |
| 3001 | Zulip Chat | zulip | running |
| 7010 | EchoHuman Twenty CRM | echohuman-twenty | running |
| 7020 | Matomo Analytics | echohuman-matomo | running |
| 7030 | Docusaurus | echohuman-docsaurus | running |
Management Commands
# List all stacks
docker compose ls
# List all containers
docker ps -a
# Check stack status
cd /opt/stacks/echohuman-twenty && docker compose ps
# View logs
docker logs <container-name> -f --tail=100
# Restart a stack
cd /opt/stacks/echohuman-twenty && docker compose restart
# Check disk usage
docker system df -v
Isolation Rules
- EchoHuman stacks (
/opt/stacks/echohuman-*) are fully isolated with separate networks, volumes, and credentials - Lifehouse stack (
/opt/twenty/) is a separate tenant — do not modify without explicit instruction - No shared volumes between stacks
- No shared databases between EchoHuman and Lifehouse (each has local Postgres)
Backup Strategy
| Stack | Database | Backup Method | Frequency |
|---|---|---|---|
| echohuman-twenty | echohuman-twenty-db-1 | docker exec pg_dump | Manual |
| echohuman-matomo | echohuman_matomo_db | docker exec mysqldump | Manual |
| echohuman-docsaurus | None (static) | Vera source + git | On deploy |
| twenty (Lifehouse) | twenty-db-1 | docker exec pg_dump | Manual |
Notes
- All EchoHuman services are production-ready
- Lifehouse is a hosted/client service — treat as separate tenant
- Docusaurus is static — no database backup needed
- All databases are local to VM700 (not CT320)
- Monitor disk usage regularly (
docker system df -v)