fix: completed and ironed out any kinks relating to the homepage dashboard

This commit is contained in:
2026-05-25 19:47:56 -07:00
parent 676182baea
commit 360f50b2d3
8 changed files with 351 additions and 161 deletions
+2
View File
@@ -18,4 +18,6 @@ gluetun-data/
homepage/*
!homepage/*.yaml
!homepage/*.yml
!homepage/*.css
!homepage/*.js
!homepage/images/
+7
View File
@@ -343,6 +343,9 @@ services:
- "HOMEPAGE_VAR_TERMIX_HOST=${WEB_PROTOCOL}://${SERVER_NAME}:${TERMIX_PORT}"
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
staticaddress:
ipv4_address: 172.16.0.1
restart: always
glances:
@@ -446,6 +449,10 @@ networks:
driver: bridge
termix-net:
driver: bridge
staticaddress:
ipam:
config:
- subnet: "172.16.0.0/16"
volumes:
myspeed:
+4 -4
View File
@@ -2,17 +2,17 @@
# For configuration options and examples, please see:
# https://gethomepage.dev/configs/bookmarks
- Bookmarks:
- Github:
- icon: si-github
- github/dhaan7/torrent-stack:
- icon: sh-github
href: https://github.com/dhaan7/torrent-stack
description: link to this GitHub repository
- Termix:
- icon: si-termix
- icon: "{{HOMEPAGE_VAR_TERMIX_ADDRESS}}/favicon.ico"
href: "{{HOMEPAGE_VAR_TERMIX_HOST}}"
description: Terminal emulator in your web browser
- Monitorix:
- icon: si-monitorix
- icon: "{{HOMEPAGE_VAR_WEB_PROTOCOL}}://{{HOMEPAGE_VAR_LOCAL_IPV4}}:4000/monitorix/monitorixico.png"
href: http://{{HOMEPAGE_VAR_SERVER_NAME}}:4000/monitorix
description: Generate and review system reports
+4
View File
@@ -0,0 +1,4 @@
img[src*="selfhs"] {
filter: invert(82%) sepia(23%) saturate(1098%) hue-rotate(193deg)
brightness(288%) contrast(88%) !important;
}
View File
+2 -2
View File
@@ -6,5 +6,5 @@
# host: 127.0.0.1
# port: 2375
# my-docker:
# socket: /var/run/docker.sock
my-docker:
socket: /var/run/docker.sock
+254 -89
View File
@@ -4,9 +4,8 @@
- "Top":
- "io":
icon: si-docker
icon: sh-docker-light
href: "{{HOMEPAGE_VAR_GLANCES_HOST}}"
description: IO Dashboard
widget:
type: customapi
url: "{{HOMEPAGE_VAR_GLANCES_ADDRESS}}/api/4/network/interface_name/value/enp2s0"
@@ -19,9 +18,8 @@
label: Sent.
format: bitrate
- "External Address":
icon: si-globus
#icon: si-globus
href: https://api.ipify.org
description: WAN IP Address
widget:
type: customapi
url: https://api.ipify.org?format=json
@@ -30,216 +28,383 @@
- field: ip
label: Address
- "Tailscale >":
icon: si-tailscale
icon: sh-tailscale-light
href: https://login.tailscale.com
description: Mesh VPN Network
widget:
type: tailscale
deviceid: "{{HOMEPAGE_VAR_TAILSCALE_DEVICE_KEY}}"
key: "{{HOMEPAGE_VAR_TAILSCALE_KEY}}"
fields: [address]
- "Speedtest Results >":
icon: si-speedtest
icon: sh-speedtest-light
href: "{{HOMEPAGE_VAR_MYSPEED_HOST}}"
#description: hi
widget:
type: myspeed
url: "{{HOMEPAGE_VAR_MYSPEED_ADDRESS}}"
fields: [download, upload]
# Non-Torrent-Stack Group
- "non-torrent-stack":
- "Windows 11 >":
icon: si-windows11
icon: sh-microsoft-windows-light
href: http://localhost
description: Windows 11 Instance
server: my-docker
container: windows11
description: Web (Tailscale Required)
- "Windows 10 >":
icon: si-windows
icon: sh-microsoft-windows-light
href: http://localhost
description: Windows 10 Instance
server: my-docker
container: windows10
description: Web (Tailscale Required)
- "TailsOS >":
icon: si-linux
icon: sh-linux-light
href: http://localhost
description: TailsOS Environment
- "Blank":
icon: si-containerd
href: http://localhost
description: Empty Slot
# Torrent-Stack Group
server: my-docker
container: qemu
description: Web
- " ":
description:
- "Media":
- "Plex >":
icon: sh-plex-light
#icon: sh-plex-dark
href: "{{HOMEPAGE_VAR_PLEX_HOST}}"
description: Watch
ping: "{{HOMEPAGE_VAR_WEB_PROTOCOL}}://{{HOMEPAGE_VAR_EXTERNAL_IPV4}}:{{HOMEPAGE_VAR_PLEX_PFWD_PORT}}"
siteMonitor: "{{HOMEPAGE_VAR_PLEX_ADDRESS}}"
widget:
type: plex
url: "{{HOMEPAGE_VAR_PLEX_ADDRESS}}"
key: "{{HOMEPAGE_VAR_PLEX_KEY}}"
fields: [albums, movies, tv]
- "Tautulli >":
icon: si-tautulli
icon: sh-tautulli-light
href: "{{HOMEPAGE_VAR_TAUTULLI_HOST}}"
description: Plex Monitoring and Statistics
description: Monitor
server: my-docker
container: tautulli
siteMonitor: "{{HOMEPAGE_VAR_TAUTULLI_ADDRESS}}"
widget:
type: tautulli
url: "{{HOMEPAGE_VAR_TAUTULLI_ADDRESS}}"
key: "{{HOMEPAGE_VAR_TAUTULLI_KEY}}"
enableUser: false
expandOneStreamToTwoRows: false
- "Plex >":
icon: si-plex
href: "{{HOMEPAGE_VAR_PLEX_HOST}}"
description: Media Server
widget:
type: plex
url: "{{HOMEPAGE_VAR_PLEX_ADDRESS}}"
key: "{{HOMEPAGE_VAR_PLEX_KEY}}"
fields: [albums, movies, tv]
- "Media_2x2":
- "Seerr >":
icon: si-overseerr
icon: sh-overseerr-light
href: "{{HOMEPAGE_VAR_SEERR_HOST}}"
description: Media Request Management
description: Request
server: my-docker
container: seerr
siteMonitor: "{{HOMEPAGE_VAR_SEERR_ADDRESS}}"
widget:
type: seerr
url: "{{HOMEPAGE_VAR_SEERR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_SEERR_KEY}}"
fields: [pending, completed]
fields: [completed, pending]
highlight:
pending:
numeric:
- level: warn
when: gt
value: 0
- "Sonarr >":
icon: si-sonarr
icon: sh-sonarr-light
href: "{{HOMEPAGE_VAR_SONARR_HOST}}"
description: TV Show Torrent Grabber
description: TV Shows
server: my-docker
container: sonarr
siteMonitor: "{{HOMEPAGE_VAR_SONARR_ADDRESS}}"
widget:
type: sonarr
url: "{{HOMEPAGE_VAR_SONARR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_SONARR_KEY}}"
enableQueue: true # optional, defaults to false
fields: [wanted, queued]
highlight:
queued:
numeric:
- level: warn
when: gt
value: 0
- "Radarr >":
icon: si-radarr
icon: sh-radarr-light
href: "{{HOMEPAGE_VAR_RADARR_HOST}}"
description: Movie Torrent Grabber
description: Movies
server: my-docker
container: radarr
siteMonitor: "{{HOMEPAGE_VAR_RADARR_ADDRESS}}"
widget:
type: radarr
url: "{{HOMEPAGE_VAR_RADARR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_RADARR_KEY}}"
fields: [wanted, queued]
highlight:
queued:
numeric:
- level: warn
when: gt
value: 0
- "Lidarr >":
icon: si-lidarr
icon: sh-lidarr-light
href: "{{HOMEPAGE_VAR_LIDARR_HOST}}"
description: Music Torrent Grabber
description: Music
server: my-docker
container: lidarr
siteMonitor: "{{HOMEPAGE_VAR_LIDARR_ADDRESS}}"
widget:
type: lidarr
url: "{{HOMEPAGE_VAR_LIDARR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_LIDARR_KEY}}"
fields: [wanted, queued]
highlight:
queued:
numeric:
- level: warn
when: gt
value: 0
- "Media_oddballs":
- "Tdarr >":
icon: si-tdarr
icon: sh-tdarr
href: "{{HOMEPAGE_VAR_TDARR_HOST}}"
description: Distributed Media Transcoding
description: Stage
server: my-docker
container: tdarr
siteMonitor: "{{HOMEPAGE_VAR_TDARR_ADDRESS}}"
widget:
type: tdarr
url: "{{HOMEPAGE_VAR_TDARR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_TDARR_KEY}}"
- Tdarr Node:
icon: si-tdarr
href: http://localhost
description: Transcoding Processing Node
- "Minecraft":
icon: si-minecraft
href: http://localhost
description: Game Server Instance
widget:
type: minecraft
url: http://localhost:25565
highlight:
queue:
numeric:
- level: warn
when: gt
value: 0
errored:
numeric:
- level: danger
when: gt
value: 0
- Tdarr Node Local:
icon: sh-tdarr
description: Transcode
server: my-docker
container: tdarr-node
- Tdarr Node Remote:
icon: sh-tdarr
description: Transcode
siteMonitor: "{{HOMEPAGE_VAR_WEB_PROTOCOL}}://192.168.50.6:8266"
- "Network":
- "Network_2x2":
- "Gluetun":
icon: si-gluetun
href: http://localhost
description: VPN Client Container
icon: sh-gluetun-light
description: VPN
server: my-docker
container: gluetun
#widget:
# type: gluetun
# url: ${HOMEPAGE_VAR_WEB_PROTOCOL}://${HOMEPAGE_VAR_LOCAL_IPV4}:8000
- "Port Updater":
icon: si-docker
href: http://localhost
description: Automated Docker Image Updates
icon: sh-docker-light
description: VPN
server: my-docker
container: port-updater
- "Network_list":
- "Prowlarr >":
icon: si-prowlarr
href: http://localhost:9696
icon: sh-prowlarr-light
href: "{{HOMEPAGE_VAR_PROWLARR_HOST}}"
description: Indexer Management
server: my-docker
container: prowlarr
siteMonitor: "{{HOMEPAGE_VAR_PROWLARR_ADDRESS}}"
widget:
type: prowlarr
url: "{{HOMEPAGE_VAR_PROWLARR_ADDRESS}}"
key: "{{HOMEPAGE_VAR_PROWLARR_KEY}}"
#fields: ["numberOfGrabs"]
highlight:
"numberOfGrabs":
numeric:
- level: warn
when: lte
value: 0
"numberOfQueries":
numeric:
- level: warn
when: lte
value: 0
"numberOfFailGrabs":
numeric:
- level: warn
when: gt
value: 0
"numberOfFailQueries":
numeric:
- level: warn
when: gt
value: 0
- "qBittorrent1 >":
icon: si-qbittorrent
- "qBittorrent Active >":
icon: sh-qbittorrent-light
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker
container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
#description:
widget:
type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/torrents/info?filter=seeding"
mappings:
#- field:
- label: Active Torrents
- label: "Active"
format: integer
scale: 1
description:
highlight:
"Active":
numeric:
- level: danger
when: lte
value: 20
- "qBittorrent2 >":
icon: si-qbittorrent
- "qBittorrent Status >":
icon: sh-qbittorrent-light
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker
container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget:
type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
mappings:
- field: server_state.connection_status
label: status
label: "status"
format: string
- field: server_state.dht_nodes
label: DHT nodes
label: "DHT"
format: integer
scale: 1
- field: server_state.last_external_address_v4
label: Address
label: "Address"
format: string
highlight:
"status":
string:
- level: warn
when: equals
value: connected
negate: true
"DHT":
#valueOnly: true
numeric:
- level: warn
when: lte
value: 200
- "qBittorrent3 >":
icon: si-qbittorrent
- "qBittorrent Stats >":
icon: sh-qbittorrent-light
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker
container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget:
type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
mappings:
- field: server_state.alltime_dl
label: T. Down
label: "T. Down"
format: bytes
scale: 0.862
- field: server_state.alltime_ul
label: T. Up
label: "T. Up"
format: bytes
scale: 0.862
- field: server_state.global_ratio
label: Ratio
format: integer
label: "Ratio"
format: percent
scale: 100
suffix: "%"
#suffix: "%"
highlight:
"Ratio":
numeric:
- level: warn
when: lt
value: 100
- level: danger
when: lte
value: 60
- "qBittorrent4 >":
icon: si-qbittorrent
- "qBittorrent Session >":
icon: sh-qbittorrent-light
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker
container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget:
type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
key: "{{HOMEPAGE_VAR_QBITTORRENT_KEY}}"
mappings:
- field: server_state.down_info_speed
label: t. down
label: T. Down
format: bytes
scale: 0.862
- field: server_state.down_info_data
label: down
format: speed
scale: 0.
label: Down
format: bitrate
scale: 0.862
- field: server_state.up_info_speed
label: t. up
label: T. Up
format: bytes
scale: 0.862
- field: server_state.up_info_data
label: up
format: speed
label: Up
format: bitrate
scale: 0.862
highlight:
"T. Down":
numeric:
- level: good
when: gt
value: 0
"Down":
numeric:
- level: good
when: gt
value: 0
"T. Up":
numeric:
- level: good
when: gt
value: 0
"Up":
numeric:
- level: good
when: gt
value: 0
- "Minecraft":
icon: sh-minecraft-creeper-light
description: Game Server Instance
server: my-docker
container: mc
#siteMonitor: "udp://localhost:25575"
widget:
type: minecraft
url: http://localhost:25565
highlight:
status:
valueOnly: true
string:
- level: good
when: equals
value: "connected"
- level: warn
when: equals
value: "connected"
negate: true
players:
numeric:
- level: warn
when: lte
value: 0
+19 -7
View File
@@ -19,8 +19,8 @@ color: slate
# Behavior
target: _blank # opens links in a new tab
showStats: true # for docker containers
statusStyle: basic # dot, basic
showStats: false # for docker containers
#statusStyle: basic # dot, basic
hideErrors: false # change to true once deployed
disableIndexing: true # ask indexers not to index your homepage, incase you port forward
@@ -38,17 +38,16 @@ headerStyle: boxed #underlined
useEqualHeights: true
layout:
header: true
disableCollapse: true
iconStyle: gradiant
"Top":
header: true
header: false
style: row
columns: 1
columns: 4
"non-torrent-stack":
header: false
style: row
columns: 4
"Media":
header: false
style: column
columns: 1
"Media_2x2":
@@ -60,5 +59,18 @@ layout:
style: row
columns: 1
"Network":
header: false
style: column
columns: 1
"Network_list":
header: false
style: row
columns: 1
"Network_2x2":
header: false
style: row
columns: 2
"Bookmarks":
header: false
style: row
columns: 1