config(npm): reorganize tatlock and webui domain mappings

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 <noreply@anthropic.com>
This commit is contained in:
2025-12-31 00:03:55 +01:00
co-authored by Claude Opus 4.5
parent facdd6a2ec
commit f3d29089d6
2 changed files with 20 additions and 14 deletions
+16 -11
View File
@@ -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*
+4 -3
View File
@@ -289,7 +289,8 @@ Every external `<service>.schweitz.net` domain has a corresponding `<service>.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/<proxy_id> \
---
**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