From f3d29089d6f69ea5daf3ab0a883eff4b6abd20da Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Wed, 31 Dec 2025 00:03:55 +0100 Subject: [PATCH] config(npm): reorganize tatlock and webui domain mappings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix naming conflict where tatlock.schweitz.net incorrectly pointed to Open WebUI. Now correctly maps: - tatlock.schweitz.net → Tatlock API (port 8000) with Authentik SSO - webui.schweitz.net → Open WebUI (port 82) with Authentik SSO - Corresponding .schweitz.internal domains for programmatic access 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CONTAINERS.md | 27 ++++++++++++++++----------- setup-new-host.md | 7 ++++--- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/CONTAINERS.md b/CONTAINERS.md index 489495e..3919803 100644 --- a/CONTAINERS.md +++ b/CONTAINERS.md @@ -1,6 +1,6 @@ # Container Reference - tower-of-joy Infrastructure -> **Last Updated:** 2025-12-25 +> **Last Updated:** 2025-12-30 > **Total Services:** 27 containers across 21 stacks > **System:** Intel i7-6700, RTX 2080 Ti (11GB VRAM), 16GB RAM, Zorin OS 16.3 @@ -20,7 +20,7 @@ | **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 | +| **Open WebUI** | 82 | https://webui.schweitz.net | Internet (SSO) | 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 | @@ -30,7 +30,7 @@ | **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) | +| **Tatlock** | 8000 | https://tatlock.schweitz.net | Internet (SSO) | 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 | | **Home Assistant** | 8123 | https://housekeeping.schweitz.net | Internet | No | - | ✅ Running | @@ -50,7 +50,8 @@ - **housekeeping.schweitz.net** → Home Assistant - **documents.schweitz.net** → Paperless-ngx - **library.schweitz.net** → Wiki.js -- **tatlock.schweitz.net** → Open WebUI +- **tatlock.schweitz.net** → Tatlock API (Protected by Authentik SSO) +- **webui.schweitz.net** → Open WebUI (Protected by Authentik SSO) ### Internal Domains (HTTP, No Auth) @@ -68,7 +69,8 @@ Internal domains provide LAN-accessible URLs without SSL or Authentik, ideal for | documents.schweitz.internal | 192.168.86.149 | 8091 | | git.schweitz.internal | localhost | 3002 | | library.schweitz.internal | localhost | 8088 | -| tatlock.schweitz.internal | localhost | 82 | +| tatlock.schweitz.internal | localhost | 8000 | +| webui.schweitz.internal | localhost | 82 | | dns.schweitz.internal | localhost | 3053 | **DNS Resolution:** Via `/etc/hosts` on tower-of-joy (192.168.86.149) @@ -150,8 +152,8 @@ PostgreSQL Shared is a centralized PostgreSQL 17 database server providing isola | **Resource Limits** | None | | **GPU Required** | No | | **Dependencies** | docker-dataplane network | -| **Databases** | `authentik` (Authentik SSO), `gitea` (Git hosting), `organizr` (Organizr dashboard), `paperless` (Document management), `postgres` (default/admin) | -| **Database Users** | `authentik_user`, `gitea_user`, `organizr_user`, `paperless_user`, `postgres` (superuser) | +| **Databases** | `authentik` (Authentik SSO), `gitea` (Git hosting), `organizr` (Organizr dashboard), `paperless` (Document management), `system_settings` (Central Tatlock settings), `postgres` (default/admin) | +| **Database Users** | `authentik_user`, `gitea_user`, `organizr_user`, `paperless_user`, `settings` (system_settings RW), `postgres` (superuser) | | **Health Check** | `pg_isready -U postgres` (30s interval) | | **Backup Strategy** | `/backups` volume for pg_dump exports | @@ -406,8 +408,10 @@ Open WebUI is a feature-rich, self-hosted web interface for interacting with lar |----------|-------| | **Image** | `ghcr.io/open-webui/open-webui:main` | | **Container Name** | `open-webui` | -| **Access URL** | http://192.168.86.149:82 | -| **External Access** | LAN only (not yet proxied) | +| **Access URL (LAN)** | http://192.168.86.149:82 | +| **Access URL (Public)** | https://webui.schweitz.net | +| **Internal Domain** | http://webui.schweitz.internal | +| **External Access** | Yes (via NPM reverse proxy with SSL + Authentik SSO) | | **Port Mapping** | 82:8080 (HTTP) | | **Network Mode** | Bridge (custom network: ai-network) | | **Restart Policy** | `unless-stopped` | @@ -647,7 +651,8 @@ Gitea is a lightweight, self-hosted Git service providing repository hosting, is | **Headscale** | http://192.168.86.149:8085 | No | VPN control server | | **Netdata** | http://192.168.86.149:19999 | No | System metrics | | **Organizr** | https://home.schweitz.net | Yes | Unified dashboard | -| **Open WebUI** | http://192.168.86.149:82 | No | LLM chat interface | +| **Open WebUI** | https://webui.schweitz.net | Yes (SSO) | LLM chat interface | +| **Tatlock** | https://tatlock.schweitz.net | Yes (SSO) | AI orchestration API | | **Core API** | http://192.168.86.149:8083 | No | API functions & infrastructure mgmt | | **Jellyfin** | https://media.schweitz.net | Yes | Media streaming | | **Nextcloud** | https://cloud.schweitz.net | Yes | Cloud storage & sync | @@ -738,4 +743,4 @@ redis-cli -h redis-shared # Redis connection --- -*Last Updated: 2025-12-25* +*Last Updated: 2025-12-30* diff --git a/setup-new-host.md b/setup-new-host.md index 9182b3c..f378e48 100644 --- a/setup-new-host.md +++ b/setup-new-host.md @@ -289,7 +289,8 @@ Every external `.schweitz.net` domain has a corresponding `.sc | documents.schweitz.internal | 192.168.86.149:8091 | documents.schweitz.net | | git.schweitz.internal | localhost:3002 | git.schweitz.net | | library.schweitz.internal | localhost:8088 | library.schweitz.net | -| tatlock.schweitz.internal | localhost:82 | tatlock.schweitz.net | +| tatlock.schweitz.internal | localhost:8000 | tatlock.schweitz.net | +| webui.schweitz.internal | localhost:82 | webui.schweitz.net | ### Step 1: Add DNS Entry @@ -570,5 +571,5 @@ curl -s -X PUT http://192.168.86.149:81/api/nginx/proxy-hosts/ \ --- -**Last Updated**: 2025-12-25 -**Based on**: library.schweitz.net setup session, Paperless-ngx API deployment, Internal domain consolidation +**Last Updated**: 2025-12-30 +**Based on**: library.schweitz.net setup session, Paperless-ngx API deployment, Internal domain consolidation, Tatlock/WebUI domain reorganization