Create: infrastructure/ana-docker-services.md

This commit is contained in:
Atlas
2026-04-15 17:45:32 -07:00
parent 678d0831b6
commit 16891a917d
+283
View File
@@ -0,0 +1,283 @@
---
created: '2026-04-16T00:45:32+00:00'
id: 7a9a2585-0be1-4409-a8d0-b5c87671ed60
keywords:
- ana-docker
- traefik
- synapse
- element
- gitea
- seafile
- vaultwarden
- mattermost
- sillytavern
- open-webui
- dockge
- portainer
- rustdesk
- restic
- mailrise
- it-tools
- ollama
links: []
modified: '2026-04-16T00:45:32+00:00'
summary: 'Complete Docker service inventory for ana-docker (10.250.50.70): 20 containers
across 15 stacks, host details, config paths, and per-service issues.'
tags:
- infrastructure
- ana-colo
- docker
- services
- traefik
- matrix
- gitea
- seafile
- vaultwarden
- mattermost
title: Ana Colo — Docker Service Inventory
---
# Ana Colo — Docker Service Inventory
> **Last surveyed:** 2026-04-15
> **Host:** ana-docker · 10.250.50.70
## Host Details
| Property | Value |
|---|---|
| OS | Debian 12 (bookworm) |
| Kernel | 6.1.0-44-amd64 |
| Resources | 8 vCPU (QEMU), 16GB RAM, 245GB disk (153GB free) |
| User | llmuser (UID 1001, GID 1001), sudo no password |
| Docker | 20.10.24 |
| Compose | v5.1.1 |
| Buildx | v0.31.1 |
| Python | 3.11.2 |
| Node | v20.12.2 (nvm) |
| Firewall | ❌ None (no UFW, firewalld, SELinux, AppArmor) |
### NFS Mounts
| Mount | Source |
|---|---|
| /mnt/compose | 10.250.50.50 |
| /mnt/backup | 10.250.50.50 |
| /mnt/tnvms | 10.250.50.50 |
### File Layout
| Path | Purpose |
|---|---|
| /opt/docker/compose/\<stack\>/compose.yaml | Compose files |
| /opt/docker/conf/\<service\>/ | Config files |
---
## Service Inventory (20 containers)
### Traefik (reverse proxy)
| Property | Value |
|---|---|
| Image | `traefik:latest` |
| Ports | 80, 443, 8380 (dashboard) |
| Network | traefik-net |
| Health check | ❌ none |
| Config | `/opt/docker/conf/traefik-ana/config/traefik.yml`, `/opt/docker/compose/traefik/.env` |
**Issues:**
- Debug logging enabled (`--log.level=DEBUG`)
- Dashboard unprotected on :8380
- Stale commented-out configs in traefik.yml
---
### Matrix (Synapse + Element + Postgres)
| Property | Value |
|---|---|
| Images | `matrixdotorg/synapse:v1.120.0`, `vectorim/element-web:v1.11.80`, `postgres:16-alpine` |
| Ports | Internal only (Traefik-routed) |
| Networks | traefik-net + matrix-net |
| Health check | ✅ Postgres only |
| DB | Local Postgres volume |
| Config | `/opt/docker/conf/synapse/homeserver.yaml`, `aipa_appservice.yaml` |
**Notes:**
- AIPA appservice configured for MCP bridge integration
- Virtual hosts: `matrix.phasefinal.com` (Synapse), `chat.phasefinal.com` (Element)
**Issues:**
- DB password hardcoded in compose.yaml
- Multiple secrets in homeserver.yaml (DB password, registration secret, macaroon key, form secret, appservice tokens)
---
### Gitea
| Property | Value |
|---|---|
| Image | `gitea/gitea:latest` |
| Ports | 3000 (Traefik-routed), 222 (SSH) |
| Network | traefik-net |
| Health check | ❌ none |
| DB | Remote PostgreSQL on 10.250.50.80 |
**Issues:**
- DB password hardcoded in compose.yaml
---
### Seafile (Seafile + MariaDB + Memcached)
| Property | Value |
|---|---|
| Images | `seafileltd/seafile-mc:11.0-latest`, `mariadb:10.6`, `memcached:1.6.18` |
| Ports | 9180 (Traefik-routed), internal DB |
| Networks | traefik-net + seafile-net |
| Health check | ❌ none |
| DB | Local MariaDB volume |
**Issues:**
- MySQL root password hardcoded AND duplicated in .env
- Admin credentials in .env
---
### SillyTavern
| Property | Value |
|---|---|
| Image | `ghcr.io/sillytavern/sillytavern:latest` |
| Ports | 8100 (direct, not Traefik-routed) |
| Network | default only |
| Health check | ❌ none |
| Config | `/opt/docker/conf/sillytavern/config.yaml` |
---
### Open WebUI
| Property | Value |
|---|---|
| Image | `ghcr.io/open-webui/open-webui:main` |
| Ports | 3100 (direct, not Traefik-routed) |
| Network | default only |
| Health check | ✅ curl localhost:8080 |
| DB | External Ollama on 10.250.50.51:11434 |
| Config | `/opt/docker/compose/openwebui/.env` |
---
### Vaultwarden
| Property | Value |
|---|---|
| Image | `vaultwarden/server:latest` |
| Ports | 9080 (Traefik-routed) |
| Network | traefik-net |
| Health check | ✅ curl localhost:80 |
| DB | Remote PostgreSQL on 10.250.50.80 |
---
### Dockge (compose manager)
| Property | Value |
|---|---|
| Images | `louislam/dockge:latest`, custom backup image `9392b1d81976` (no repo tag) |
| Ports | 5001 (direct) |
| Network | default only |
| Health check | ✅ curl localhost:5001 |
**Issues:**
- Backup uses untagged custom image — needs documentation or tagging
---
### Portainer (legacy — consider removal)
| Property | Value |
|---|---|
| Images | `portainer/portainer-ce:latest` (3 years old), `portainer/agent:2.19.4` |
| Ports | 9000, 9001 (direct) |
| Network | default only |
| Health check | ❌ none |
**Issues:**
- Very old images (Portainer CE ~3 years, agent ~2 years)
- Consider migrating to Dockge-only or removing entirely
---
### RustDesk (hbbs + hbbr)
| Property | Value |
|---|---|
| Image | `rustdesk/rustdesk-server:latest` (13 months old) |
| Ports | Host network mode (hbbs + hbbr + NAT relay) |
| Network | Host network |
| Health check | ❌ none |
**Issues:**
- Host network breaks Docker isolation model
- Image is 13 months old
---
### Restic Server
| Property | Value |
|---|---|
| Image | `restic/rest-server` |
| Ports | 8000 (direct) |
| Network | default only |
| Health check | ❌ none |
| Storage | NFS-backed volume |
---
### IT Tools
| Property | Value |
|---|---|
| Image | `corentinth/it-tools:latest` (13 months old) |
| Ports | 8780 (direct) |
| Network | default only |
| Health check | ❌ none |
**Issues:**
- Homepage labels present but no Homepage container running
- Image 13 months old
---
### Mailrise
| Property | Value |
|---|---|
| Image | `yoryan/mailrise:latest` |
| Ports | 8025 (direct) |
| Network | default only |
| Health check | ❌ none |
| Config | `/opt/docker/conf/mailrise/mailrise.conf` |
**Issues:**
- SendGrid API key and webhook tokens in plaintext config
---
### Mattermost (not currently running)
| Property | Value |
|---|---|
| Image | `mattermost/mattermost-enterprise-edition:latest` |
| Ports | 8065 (Traefik-routed), UDP 8443 from WAN |
| Networks | traefik-net + mattermost-net |
| DB | Remote PostgreSQL on 10.250.50.80 |
| Config | `/opt/docker/data/mattermost/.../config.json` |
**Issues:**
- SendGrid API key, SMTP password, encryption keys, salts all in config.json
- Not currently running (container stopped)