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>
45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
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)
|