Container Inventory
The server runs multiple Docker containers. Memory is constrained (1.9 GB + 1 GB swap), so only essential containers should be running.
Running Containers (Essential)
| Container | Image | Memory | Purpose |
|---|---|---|---|
| max | n8nio/n8n:latest | ~370 MB | Max Shipping N8N — chatbot webhook + MCP |
| caddy | caddy | ~18 MB | Reverse proxy + auto SSL for all subdomains |
| postgres | postgres | ~40 MB | Shared database for all N8N instances |
| watchtower | containrrr/watchtower | ~10 MB | Auto-updates Docker images |
| python-svc | python-svc:latest | ~31 MB | Python service (port 8000) |
| n8n-audio-server | nginx:alpine | ~3 MB | Audio file server (port 8081) |
Stopped Containers
Stopped 2026-02-21 to free memory. All data is preserved — docker start <name> brings them back.
| Container | Image | Memory (was) | Purpose | Restart |
|---|---|---|---|---|
| n8n | n8nio/n8n:latest | ~250 MB | Main N8N editor (n8n.lifeonroatan.net) | docker start n8n |
| n8n-dev1 | n8nio/n8n:latest | ~382 MB | Dev instance (dev1.lifeonroatan.net) | docker start n8n-dev1 |
| nocodb | nocodb/nocodb:latest | ~191 MB | NocoDB spreadsheet DB (port 8080) | docker start nocodb |
| portainer | portainer/portainer-ce | ~43 MB | Docker management UI (port 9000) | docker start portainer |
| n8n-dev2 | n8nio/n8n:latest | 0 MB | Stopped 6+ months ago | docker start n8n-dev2 |
| qdrant | qdrant/qdrant | 0 MB | Vector DB, stopped 6+ months ago | docker start qdrant |
Caddy Reverse Proxy Routes
max.lifeonroatan.net → max:5678
mcp.max.lifeonroatan.net → max:5678
n8n.lifeonroatan.net → n8n:5678
mcp.n8n.lifeonroatan.net → n8n:5678
dev1.lifeonroatan.net → n8n-dev1:5678
mcp.dev1.lifeonroatan.net → n8n-dev1:5678
dev2.lifeonroatan.net → n8n-dev2:5678
mcp.dev2.lifeonroatan.net → n8n-dev2:5678
All containers are on the proxy Docker network.
Docker Network Layout
| Network | Containers |
|---|---|
| proxy | max, n8n, n8n-dev1, postgres, caddy, nocodb, n8n-audio-server, python-svc |
| bridge | portainer, watchtower |