From 64ffeda92836b158f98a18fda6c7d96ff6cf7a69 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 14 Dec 2025 14:46:21 +0100 Subject: [PATCH] feat: add Redis DB tracking and resolve DB conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Redis DB column to All Services table in CONTAINERS.md - Move Nextcloud from DB 3 to DB 7 to resolve conflict with Scheduler - Split Tatlock Redis usage: DB 1 (memory), DB 6 (benchmarks) - Add missing services to table: Wiki.js, Tatlock, Library Desk 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CONTAINERS.md | 53 +++++++++++++++++++++++--------------------- stacks/nextcloud.yml | 10 ++++----- stacks/tatlock.yml | 5 +++-- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/CONTAINERS.md b/CONTAINERS.md index 71546dd..b76ce2b 100644 --- a/CONTAINERS.md +++ b/CONTAINERS.md @@ -1,35 +1,38 @@ # Container Reference - tower-of-joy Infrastructure > **Last Updated:** 2025-12-14 -> **Total Services:** 21 containers across 16 stacks +> **Total Services:** 24 containers across 19 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 | -| **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 | -| **Open WebUI** | 82 | http://192.168.86.149:82 | LAN | No | ✅ Running | -| **Core API** | 8083 | http://192.168.86.149:8083 | LAN | No | ✅ Running (external) | -| **Scheduler** | 8090 | http://192.168.86.149:8090 | LAN | No | ✅ Running (external) | -| **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 | +| Service | Port(s) | URL | External Access | GPU | Redis DB | 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 | 0 | ⚠️ 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 | +| **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 | +| **Open WebUI** | 82 | http://192.168.86.149:82 | LAN | No | - | ✅ Running | +| **Core API** | 8083 | http://192.168.86.149:8083 | LAN | No | - | ✅ Running (external) | +| **Scheduler** | 8090 | http://192.168.86.149:8090 | LAN | No | 3 | ✅ Running (external) | +| **SearXNG** | 8087 | http://192.168.86.149:8087 | LAN | No | 5 | ✅ Running | +| **Jellyfin** | 8096, 8920, 7359, 1900 | https://media.schweitz.net | Internet | Yes (RTX 2080 Ti) | - | ✅ Running | +| **Nextcloud** | 8082 | https://cloud.schweitz.net | Internet | No | 7 | ⚠️ 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 | +| **Wiki.js** | 3000 | http://192.168.86.149:3000 | LAN | No | 2 | ✅ Running | +| **Tatlock** | 8000 | http://192.168.86.149:8000 | LAN | No | 1, 6 | ✅ Running (external) | +| **Library Desk** | 8089 | http://192.168.86.149:8089 | LAN | No | 4 | ✅ Running (external) | +| **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) @@ -153,7 +156,7 @@ Redis Shared is a centralized Redis 7 key-value store providing cache, session s | **Resource Limits** | None | | **GPU Required** | No | | **Dependencies** | docker-dataplane network | -| **Database Allocation** | DB 0: Authentik, DB 1-15: Available for future services | +| **Database Allocation** | DB 0: Authentik, DB 1: Tatlock (memory), DB 2: Wiki.js, DB 3: Scheduler, DB 4: Library Desk, DB 5: SearXNG, DB 6: Tatlock (benchmarks), DB 7: Nextcloud, DB 8-15: Available | | **Persistence** | AOF (Append-Only File) enabled for durability | | **Health Check** | `redis-cli ping` returns PONG (30s interval) | | **Connection String** | `redis://redis-shared:6379/0` (DB 0), `redis://redis-shared:6379/1` (DB 1), etc. | @@ -596,4 +599,4 @@ redis-cli -h redis-shared # Redis connection --- -*Last Updated: 2025-12-11* +*Last Updated: 2025-12-14* diff --git a/stacks/nextcloud.yml b/stacks/nextcloud.yml index e766e65..903d82e 100644 --- a/stacks/nextcloud.yml +++ b/stacks/nextcloud.yml @@ -17,10 +17,10 @@ services: - POSTGRES_USER=nextcloud_user - POSTGRES_PASSWORD=${NEXTCLOUD_DB_PASSWORD} - # Redis configuration (Database 3) + # Redis configuration (Database 7) - REDIS_HOST=redis-shared - REDIS_HOST_PORT=6379 - - REDIS_DB_INDEX=3 + - REDIS_DB_INDEX=7 # Timezone - TZ=Europe/Amsterdam @@ -49,7 +49,7 @@ networks: # 2. Database and user already created in postgres-shared: # - Database: nextcloud # - User: nextcloud_user -# - Redis DB: 3 +# - Redis DB: 7 # # 3. Create .env file with: # NEXTCLOUD_DB_PASSWORD= @@ -81,7 +81,7 @@ networks: # 5. Configure Redis caching: # docker exec -u www-data nextcloud php occ config:system:set redis host --value=redis-shared # docker exec -u www-data nextcloud php occ config:system:set redis port --value=6379 -# docker exec -u www-data nextcloud php occ config:system:set redis dbindex --value=3 +# docker exec -u www-data nextcloud php occ config:system:set redis dbindex --value=7 # docker exec -u www-data nextcloud php occ config:system:set memcache.local --value='\\OC\\Memcache\\APCu' # docker exec -u www-data nextcloud php occ config:system:set memcache.distributed --value='\\OC\\Memcache\\Redis' # docker exec -u www-data nextcloud php occ config:system:set memcache.locking --value='\\OC\\Memcache\\Redis' @@ -104,7 +104,7 @@ networks: # Cache: # - Host: redis-shared (from containers) / localhost (from host) # - Port: 6379 -# - Database: 3 +# - Database: 7 # # Resource Usage: # - Nextcloud: 1GB RAM limit diff --git a/stacks/tatlock.yml b/stacks/tatlock.yml index 52f71fe..601c6db 100644 --- a/stacks/tatlock.yml +++ b/stacks/tatlock.yml @@ -27,10 +27,11 @@ services: # SearXNG (optional, shared service) - SEARXNG_HOST=http://searxng:8080 - SEARXNG_TIMEOUT=30 - # Redis (optional, shared service) + # Redis (shared service) - REDIS_HOST=redis-shared - REDIS_PORT=6379 - - REDIS_DB=6 + - REDIS_MEMORY_DB=1 + - REDIS_BENCHMARK_DB=6 - REDIS_TIMEOUT=5 # Features - ENABLE_BENCHMARKS=true