Homepage on esh-docker-vm:5100 was the one stack whose config lived only on the host, edited in place. Its version history was six hand-rolled services.yaml.bak-* files. Now canonical here and deployed with deploy-stack.sh like everything else; the .bak files are gone. Corrections from the audit: - ANA-Firewall described a 'Fortigate 81F'. It is a FortiGate-80F running FortiOS 7.2.10, verified live against the device. - NH3-Ansible pointed at 10.100.50.42 as an 'Ansible control node'. That host is nh3-extdev, the manager/external-dev successor after nh3-ansible was retired. Renamed and re-described. - Dropped the UltraSeedbox layout group: nothing provides it, so it only ever rendered empty. Adds .env.example and a README documenting the two-path service model (docker label discovery across five engines vs manual entries), the labels-only-apply- on-recreate rule, and the foot-guns found: HOMEPAGE_ALLOWED_HOSTS matches host AND port so a bare IP does not cover IP:port; :2375 is plaintext and unauthenticated on all five engines; ping: cards can only be judged from the dashboard host. Verified after deploy via /api/services: 105 cards across 19 groups, both corrections live, ana-docker discovery intact.
147 lines
3.7 KiB
YAML
147 lines
3.7 KiB
YAML
---
|
|
# https://gethomepage.dev/latest/configs/settings
|
|
title: ... all my base ...
|
|
theme: dark
|
|
color: slate
|
|
background:
|
|
image: https://w.wallhaven.cc/full/p9/wallhaven-p9gr2p.jpg
|
|
blur: sm
|
|
opacity: 20
|
|
headerStyle: boxedWidgets
|
|
|
|
providers:
|
|
openweathermap: openweathermapapikey
|
|
weatherapi: weatherapiapikey
|
|
|
|
quicklaunch:
|
|
searchDescriptions: true
|
|
hideInternetSearch: true
|
|
showSearchSuggestions: true
|
|
hideVisitURL: true
|
|
|
|
showStats: false
|
|
statusStyle: ""
|
|
|
|
# Force all cards in a row to match the tallest card's height. Without
|
|
# this, widget-bearing cards (Plex stats, Traefik metrics) stand taller
|
|
# than plain link cards and the grid looks ragged.
|
|
useEqualHeights: true
|
|
|
|
# Function-first layout, four-tab split:
|
|
# Main - daily-use apps, media, bookmarks, monitoring
|
|
# AI - the inference fleet, grouped by role (see below)
|
|
# Infrastructure - hardware, hypervisors, BMCs (per site)
|
|
# Toolchain - backend services running but rarely clicked
|
|
#
|
|
# The AI tab splits the fleet by function so a 20+ service list reads as
|
|
# sorted groups instead of one endless column. Group membership is set by
|
|
# the homepage.group=AI - <role> label on each service's compose file:
|
|
# AI - Inference LLM seats you call (gen, char-rp, char-rp-reasoning, summarizer)
|
|
# AI - Eval & Retrieval judges, reward, rerank, embed, image-quality
|
|
# AI - Gateways & Chat routing gateway, control plane, chat frontends
|
|
# AI - Speech (TTS) text-to-speech engines
|
|
# AI - Audio Tools speech-to-text + audio dataset tooling
|
|
# AI - Image & Media image/video generation + pipelines
|
|
# AI - Dormant stopped stacks (rollback seats, retired auditions)
|
|
#
|
|
# Row counts target ~4-per-row so dense groups (Apps, Service Networking)
|
|
# read as a grid instead of an endless column.
|
|
layout:
|
|
Notes:
|
|
icon: mdi-note-text-outline
|
|
tab: Main
|
|
style: row
|
|
columns: 4
|
|
News:
|
|
icon: mdi-rss
|
|
tab: Main
|
|
style: row
|
|
columns: 4
|
|
Monitoring:
|
|
icon: mdi-chart-line
|
|
tab: Main
|
|
style: row
|
|
columns: 4
|
|
Apps:
|
|
icon: mdi-apps
|
|
tab: Main
|
|
style: row
|
|
columns: 4
|
|
Media:
|
|
icon: mdi-play-box-multiple
|
|
tab: Main
|
|
style: row
|
|
columns: 3
|
|
Games:
|
|
icon: mdi-gamepad-square
|
|
tab: Main
|
|
# --- AI tab: the inference fleet, ordered core-models -> support -> apps ---
|
|
AI - Inference:
|
|
icon: mdi-brain
|
|
tab: AI
|
|
style: row
|
|
columns: 4
|
|
AI - Eval & Retrieval:
|
|
icon: mdi-scale-balance
|
|
tab: AI
|
|
style: row
|
|
columns: 5
|
|
AI - Gateways & Chat:
|
|
icon: mdi-router-network
|
|
tab: AI
|
|
style: row
|
|
columns: 3
|
|
AI - Speech (TTS):
|
|
icon: mdi-account-voice
|
|
tab: AI
|
|
style: row
|
|
columns: 3
|
|
AI - Audio Tools:
|
|
icon: mdi-waveform
|
|
tab: AI
|
|
style: row
|
|
columns: 2
|
|
AI - Image & Media:
|
|
icon: mdi-image-multiple
|
|
tab: AI
|
|
style: row
|
|
columns: 2
|
|
# Stopped stacks kept for rollback / superseded seats / retired auditions.
|
|
# They stay 'created' (not running) via `docker compose up --no-start`, so
|
|
# they show here as offline cards and revive with `docker compose start`.
|
|
AI - Dormant:
|
|
icon: mdi-sleep
|
|
tab: AI
|
|
style: row
|
|
columns: 4
|
|
Infra - ANA:
|
|
icon: si-proxmox
|
|
tab: Infrastructure
|
|
style: row
|
|
columns: 4
|
|
Infra - NH3:
|
|
icon: si-proxmox
|
|
tab: Infrastructure
|
|
style: row
|
|
columns: 4
|
|
Infra - IRV:
|
|
icon: mdi-brain
|
|
tab: Infrastructure
|
|
style: row
|
|
columns: 4
|
|
Infra - ESH:
|
|
icon: si-proxmox
|
|
tab: Infrastructure
|
|
style: row
|
|
columns: 4
|
|
Service Networking:
|
|
icon: mdi-transit-connection-variant
|
|
tab: Toolchain
|
|
style: row
|
|
columns: 4
|
|
Toolchain:
|
|
icon: mdi-toolbox
|
|
tab: Toolchain
|
|
style: row
|
|
columns: 4
|