docs(root): move CONTAINERS.md to root with quick-reference table

Moved container documentation from docs/reference/ to project root for better
LLM accessibility. Added comprehensive quick-reference table at the top with:
- All 22 services with ports, URLs, and status
- External domain mappings (11 SSL domains)
- Complete Core API infrastructure management endpoints

Changes:
- New location: /CONTAINERS.md (was docs/reference/CONTAINERS.md)
- Added quick reference table with all ports and URLs
- Added infrastructure management API documentation
- Listed all external domains with SSL status
- Current service status indicators
- Removed old location to avoid duplication

Result: Single-file reference for all infrastructure info, easily found by LLMs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-03 15:27:06 +01:00
co-authored by Claude
parent 8a8a6c74e8
commit dde00502e7
+70 -4
View File
@@ -1,11 +1,77 @@
# Container Reference Guide
# Container Reference - tower-of-joy Infrastructure
> Documentation of all deployed containers in the tower-of-joy infrastructure
>
> Last Updated: 2025-11-16
> **Last Updated:** 2025-12-03
> **Total Services:** 22 containers across 17 stacks
> **System:** Intel i7-6700, RTX 2080 Ti (11GB VRAM), 16GB RAM, Zorin OS 16.3
---
## 🚀 Quick Reference - All Services
| Service | Port(s) | URL | External Access | GPU | Status |
|---------|---------|-----|-----------------|-----|--------|
| **Portainer** | 8080, 8443 | http://192.168.86.149:8080 | LAN | No | ✅ Running |
| **Nginx Proxy Manager** | 81 (admin), 80, 443 | http://192.168.86.149:81 | Internet | No | ✅ Running |
| **Authentik** | 9000, 9445 (outpost) | https://auth.schweitz.net | Internet (SSO) | No | ⚠️ Partial |
| **PostgreSQL Shared** | 5432 | N/A (internal) | No | No | ✅ Running |
| **Redis Shared** | 6379 | N/A (internal) | No | No | ✅ Running |
| **Ollama** | 11434 | http://192.168.86.149:11434 | LAN | Yes (RTX 2080 Ti) | ✅ Running |
| **Headscale** | 8085, 9090 | http://192.168.86.149:8085 | LAN | No | ✅ Running |
| **Uptime Kuma** | 3001 | http://192.168.86.149:3001 | LAN | No | ✅ Running |
| **Netdata** | 19999 | http://192.168.86.149:19999 | LAN | No | ✅ Running |
| **Organizr** | 9999 | https://home.schweitz.net | Internet (SSO) | No | ✅ Running |
| **Watchtower** | None | N/A (background) | No | No | ✅ Running |
| **Maintenance** | None | N/A (background) | No | No | ✅ Running |
| **Open WebUI** | 82 | http://192.168.86.149:82 | LAN | No | ✅ Running |
| **Core API** | 8083 | http://192.168.86.149:8083 | LAN | No | ✅ Running |
| **Core AI** | 8086 | http://192.168.86.149:8086 | LAN | No | ✅ Running |
| **SearXNG** | 8087 | http://192.168.86.149:8087 | LAN | No | ✅ Running |
| **Jellyfin** | 8096, 8920, 7359, 1900 | https://media.schweitz.net | Internet | Yes (RTX 2080 Ti) | ✅ Running |
| **Nextcloud** | 8082 | https://cloud.schweitz.net | Internet | No | ⚠️ Stopped |
| **Samba** | 139, 445 | \\\\192.168.86.149 | LAN | No | ✅ Running |
| **Gitea** | 3002, 2222 (SSH) | https://git.schweitz.net | Internet | No | ✅ Running |
| **Qdrant** | 6333, 6334 | http://192.168.86.149:6333 | LAN | No | ✅ Running |
| **AMP (Game Server)** | Varies | http://192.168.86.149:8081 | LAN | No | ✅ Running |
### External Domains (SSL via Let's Encrypt)
- **home.schweitz.net** → Organizr (Protected by Authentik SSO)
- **media.schweitz.net** → Jellyfin
- **cloud.schweitz.net** → Nextcloud
- **git.schweitz.net** → Gitea
- **auth.schweitz.net** → Authentik SSO
- **api.schweitz.net** → Core API
- **code.schweitz.net** → Code-Server (host service)
- **amp.schweitz.net** → AMP Game Server
- **tatlock.schweitz.net** → (Reserved)
---
## 📊 Infrastructure Management via Core API
The Core API (port 8083) provides REST endpoints for managing the entire infrastructure:
### Available Endpoints
- `GET /infrastructure/health` - Check Portainer + NPM connectivity
- `GET /infrastructure/services` - List all deployed stacks (17 stacks)
- `GET /infrastructure/services/{name}` - Get service details
- `POST /infrastructure/services` - Deploy new stack from Docker Compose
- `PUT /infrastructure/services/{name}` - Update existing stack
- `DELETE /infrastructure/services/{name}` - Remove service and stack
- `GET /infrastructure/ports` - List all allocated ports
- `GET /infrastructure/domains` - List configured domains (11 domains)
- `GET /infrastructure/proxy/{id}` - Get proxy host details
- `POST /infrastructure/proxy` - Create new proxy host with SSL
- `PUT /infrastructure/proxy/{id}` - Update proxy configuration
- `GET /infrastructure/monitors` - List Uptime Kuma monitors
- `POST /infrastructure/monitors` - Create new health monitor
- `PUT /infrastructure/monitors/{id}` - Update monitor
- `DELETE /infrastructure/monitors/{id}` - Delete monitor
**API Documentation:** http://192.168.86.149:8083/docs
---
## Infrastructure Layer
### Portainer