From dde00502e74946eb9497831b2be988ef81aa56d7 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 3 Dec 2025 15:27:06 +0100 Subject: [PATCH] docs(root): move CONTAINERS.md to root with quick-reference table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/reference/CONTAINERS.md => CONTAINERS.md | 74 ++++++++++++++++++- 1 file changed, 70 insertions(+), 4 deletions(-) rename docs/reference/CONTAINERS.md => CONTAINERS.md (90%) diff --git a/docs/reference/CONTAINERS.md b/CONTAINERS.md similarity index 90% rename from docs/reference/CONTAINERS.md rename to CONTAINERS.md index ccdf43c..87c0dbf 100644 --- a/docs/reference/CONTAINERS.md +++ b/CONTAINERS.md @@ -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