Docker Services
Docker Services
Self-hosted apps, all now running on pmdell docker CTs. Migrations moved the built images + data volumes (not rebuilds, to avoid stale base-image breakage).
Apps
| App | Runs on | Port | Notes |
|---|---|---|---|
| evolutly-app | docker-vinioki (70.35) | 8080 | PHP app + MariaDB; image + DB volume migrated |
| homebox | docker-22143 (70.36) | 3100 | Inventory (SQLite). Needs HBOX_AUTH_API_KEY_PEPPER on recent versions |
| inventree stack | docker-pop (70.31) | — | server/worker/db/cache + docuseal + tunnel-pop |
| MCP servers | docker-vivek (70.32) | 8001/8002/8004/8006 | datetime, kcls, contacts, homebox — see below |
MCP servers (viveks-mcp-servers)
Four running MCP servers, migrated as prebuilt images onto docker-vivek:
| Service | Port | Notes |
|---|---|---|
| datetime-mcp | 8001 | — |
| kcls-mcp | 8002 | KCLS library rooms |
| contacts-mcp | 8004 | Google Contacts (OAuth creds in ~/.contacts-mcp) |
| homebox-mcp | 8006 | HOMEBOX_URL → http://192.168.70.36:3100 |
Base image python:3.12-slim, one Dockerfile, per-service command: override.
Cloudflare tunnels
- docker-pop runs
tunnel-pop(cloudflared, token-managed / remotely configured). Ingress (Zero Trust dashboard) maps hostnames → local services; after the migration the origins were repointed to the new host IP (192.168.70.31).Hostname → origin forms.1294.org http://192.168.70.31:4001 inventree.1294.org http://192.168.70.31 pmhp.1294.org https://192.168.69.1:8006
Tip
Token-managed tunnels store ingress rules in the Cloudflare dashboard, not a
local config.yml — so a host move means updating the origins in Zero Trust →
Networks → Tunnels → Public Hostnames.
Decommissioned from dockervm-dev (69.210)
Migrated away / removed: evolutly-app → vinioki, homebox → 22143, the 4
MCP servers → docker-vivek. Removed: docker-app (dexy), n8n.
See also
- pmdell — the docker CTs (731–736) these run on
- Discord Fleet — the other big service system
- Repositories — source repos (evolutly-app, viveks-mcp-servers, …)