feat(stack): add Tatlock UI home lab dashboard

Add Flutter-based dashboard to replace Organizr:
- Port 8092, stateless static web app via nginx
- Resource limits (128M/32M), wget-based healthcheck
- Documented in CONTAINERS.md with full service profile

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-02 13:58:26 +01:00
co-authored by Claude Opus 4.5
parent 7b729aa285
commit 4dc72b2128
2 changed files with 75 additions and 3 deletions
+44
View File
@@ -0,0 +1,44 @@
version: '3.8'
# Tatlock UI - Home Lab Dashboard (Flutter Web)
# Port: 8092 (HTTP)
# GPU: No
# External: home.schweitz.net (future, replacing Organizr)
# Storage: None (stateless static web app)
#
# Container image built from: git.schweitz.internal/jpmschweitzer/tatlock-ui
# See CONTAINERS.md for port allocation reference
services:
tatlock-ui:
image: git.schweitz.internal/jpmschweitzer/tatlock-ui:latest
container_name: tatlock-ui
restart: unless-stopped
ports:
- "8092:80"
networks:
- docker-dataplane
labels:
- "com.centurylinklabs.watchtower.enable=true"
healthcheck:
test: ["CMD-SHELL", "wget -q --spider http://localhost:80/ || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
deploy:
resources:
limits:
memory: 128M
reservations:
memory: 32M
networks:
docker-dataplane:
external: true
name: docker-dataplane
# Access:
# - Internal: http://tower-of-joy:8092
# - Mesh VPN: http://10.99.0.1:8092
# - Future: https://home.schweitz.net (after NPM switch from Organizr)