services/compose/znas/homelable/docker-compose.yaml
traveler 5c636adfdc
Some checks are pending
Deploy on push / detect (push) Waiting to run
Deploy on push / deploy_swarm (push) Blocked by required conditions
Deploy on push / deploy_compose (push) Blocked by required conditions
dsf
2026-03-28 21:20:37 -05:00

80 lines
No EOL
2.5 KiB
YAML

networks:
netgrimoire:
external: true
services:
frontend:
image: ghcr.io/pouzor/homelable-frontend:latest
networks:
- netgrimoire
environment:
- VITE_API_URL=https://homelable-api.netgrimoire.com
deploy:
replicas: 1
placement:
constraints:
- node.hostname == znas
labels:
# --- Caddy reverse proxy ---
caddy: homelable.netgrimoire.com
caddy.reverse_proxy: "{{upstreams 80}}"
# --- Homepage ---
homepage.group: Tools
homepage.name: Homelable
homepage.icon: homelable.png
homepage.href: https://homelable.netgrimoire.com
homepage.description: Homelab infrastructure visualizer
# --- Uptime Kuma ---
kuma.homelable.http.url: https://homelable.netgrimoire.com
backend:
image: ghcr.io/pouzor/homelable-backend:latest
networks:
- netgrimoire
volumes:
- /DockerVol/homelable/data:/app/data
environment:
- SECRET_KEY=${SECRET_KEY}
- AUTH_USERNAME=${AUTH_USERNAME}
- AUTH_PASSWORD_HASH=${AUTH_PASSWORD_HASH}
- SCANNER_RANGES=${SCANNER_RANGES:-["192.168.3.0/24","192.168.4.0/24","192.168.5.0/24"]}
- STATUS_CHECKER_INTERVAL=${STATUS_CHECKER_INTERVAL:-60}
cap_add:
- NET_RAW
- NET_ADMIN
deploy:
replicas: 1
placement:
constraints:
- node.hostname == znas
labels:
# --- Caddy reverse proxy ---
caddy: homelable-api.netgrimoire.com
caddy.reverse_proxy: "{{upstreams 8000}}"
# --- Uptime Kuma ---
kuma.homelable-api.http.url: https://homelable-api.netgrimoire.com/health
mcp:
image: ghcr.io/pouzor/homelable-mcp:latest
networks:
- netgrimoire
environment:
# Authenticates external MCP clients (Open WebUI, Claude Code, n8n)
- MCP_API_KEY=${MCP_API_KEY}
# Authenticates MCP server -> backend (internal only, never exposed)
- MCP_SERVICE_KEY=${MCP_SERVICE_KEY}
- BACKEND_URL=http://backend:8000
deploy:
replicas: 1
placement:
constraints:
- node.hostname == znas
labels:
# --- Caddy reverse proxy ---
# Exposed for Claude Code on remote machines — remove label if LAN-only preferred
caddy: homelable-mcp.netgrimoire.com
caddy.reverse_proxy: "{{upstreams 8001}}"
# --- Uptime Kuma ---
kuma.homelable-mcp.http.url: https://homelable-mcp.netgrimoire.com/health
# --- DIUN image update notifications ---
diun.enable: "true"