Skip to main content

VM700 — Docker Stack Map

Complete inventory of all Docker Compose stacks running on VM700.

EchoHuman Stacks

echohuman-twenty (/opt/stacks/echohuman-twenty/)

ContainerImagePortStatusRole
echohuman-twenty-server-1twentycrm/twenty:latest7010→3000healthyWeb server + API
echohuman-twenty-worker-1twentycrm/twenty:latestrunningBackground jobs
echohuman-twenty-db-1postgres:16healthyLocal Postgres
echohuman-twenty-redis-1redishealthyCache/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/)

ContainerImagePortStatusRole
echohuman_matomo_appmatomo:latest7020→80runningMatomo PHP app
echohuman_matomo_dbmariadb:10.11runningMariaDB database

Status: Running (2 containers) Public URL: https://analytics.echohuman.org (via CT101 Caddy:7020) Database: Local MariaDB

echohuman-docsaurus (/opt/stacks/echohuman-docsaurus/)

ContainerImagePortStatusRole
echohuman_docsaurus_nginxnginx:alpine7030→80runningStatic 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/)

ContainerImagePortStatusRole
twenty-server-1twentycrm/twenty:latest3000→3000healthyWeb server + API
twenty-worker-1twentycrm/twenty:latestcreatedBackground jobs
twenty-db-1postgres:16healthyLocal Postgres
twenty-redis-1redishealthyCache/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/)

ContainerImagePortStatusRole
zulip-zulip-1ghcr.io/zulip/zulip-server:12.0-03001→80startingZulip chat server

Status: Running (1 container, health check starting) Port: 3001 (internal) Note: Zulip chat service

Stack Summary

StackLocationContainersStatusPublic
echohuman-twenty/opt/stacks/echohuman-twenty/4runningYes (7010)
echohuman-matomo/opt/stacks/echohuman-matomo/2runningYes (7020)
echohuman-docsaurus/opt/stacks/echohuman-docsaurus/1runningYes (7030)
twenty (Lifehouse)/opt/twenty/4runningYes (3000)
zulip/opt/zulip/1runningNo (3001)

Port Assignments

PortServiceStackStatus
3000Lifehouse Twenty CRMtwentyrunning
3001Zulip Chatzuliprunning
7010EchoHuman Twenty CRMechohuman-twentyrunning
7020Matomo Analyticsechohuman-matomorunning
7030Docusaurusechohuman-docsaurusrunning

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

StackDatabaseBackup MethodFrequency
echohuman-twentyechohuman-twenty-db-1docker exec pg_dumpManual
echohuman-matomoechohuman_matomo_dbdocker exec mysqldumpManual
echohuman-docsaurusNone (static)Vera source + gitOn deploy
twenty (Lifehouse)twenty-db-1docker exec pg_dumpManual

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)