61 lines
No EOL
1.8 KiB
YAML
61 lines
No EOL
1.8 KiB
YAML
networks:
|
|
netgrimoire:
|
|
external: true
|
|
|
|
services:
|
|
homelable-frontend:
|
|
image: ghcr.io/pouzor/homelable-frontend:latest
|
|
networks:
|
|
- netgrimoire
|
|
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
|
|
# --- DIUN ---
|
|
diun.enable: "true"
|
|
|
|
homelable-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}
|
|
- STATUS_CHECKER_INTERVAL=${STATUS_CHECKER_INTERVAL:-60}
|
|
- SQLITE_PATH=/app/data/homelab.db
|
|
- CORS_ORIGINS=["https://homelable.netgrimoire.com"]
|
|
# Internal service name must match for MCP if re-enabled later
|
|
- BACKEND_URL=http://homelable-backend:8000
|
|
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
|
|
# --- DIUN ---
|
|
diun.enable: "true" |