fix: minor bugs

This commit is contained in:
2026-06-21 01:50:35 -07:00
parent 2a5701807f
commit 3b63d8cd49
5 changed files with 245 additions and 56 deletions
+110
View File
@@ -13,6 +13,8 @@ sonarr/
tautulli/ tautulli/
tdarr/ tdarr/
gluetun-data/ gluetun-data/
etc*
!odysseus/.*
# Only track homepage structural yaml files, ignore app cache # Only track homepage structural yaml files, ignore app cache
homepage/* homepage/*
@@ -21,3 +23,111 @@ homepage/*
!homepage/*.css !homepage/*.css
!homepage/*.js !homepage/*.js
!homepage/images/ !homepage/images/
# from odysseus .gitignore
# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/
!static/js/editor/build/
venv/
.venv/
*.egg
# Environment
.env
.env.bak.*
!.env.example
# Local uv lockfile (optional, per-platform — see "Faster installs with uv" in README)
requirements.lock
# SOPS workflow — encrypted `secrets.env` is intentionally committable,
# but every variant (plaintext, manual decrypt copy, editor backup)
# must stay out of git. Mirrored in .dockerignore so the same artifacts
# also cannot enter image build layers.
secrets.env.*
!secrets.env.example
# Data — all user data stays local
data/
!services/hwfit/data/
!services/hwfit/data/hf_models.json
logs/
*.log
*.db
*.sqlite
*.sqlite3
# Node
node_modules/
services/node_modules/
services/data/
# IDE / Editor
.aider*
.claude/
.vscode/
.idea/
*.swp
*.swo
*~
# Test capture artifacts (browser session dumps may contain personal content)
.playwright-mcp/
# OS
.DS_Store
Thumbs.db
# Build artifacts
*.cache
cache/
output.txt.txt
# Media (uploaded/generated)
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.webp
*.tiff
*.pdf
# …except shipped static assets
!static/icons/*.png
# …except shipped demo assets in docs/ that the README links to.
!docs/*.jpg
!docs/*.jpeg
!docs/*.png
!docs/*.gif
!docs/*.webp
# …and curated docs/ subfolder assets (e.g. accessibility before/after shots).
!docs/**/*.png
!docs/**/*.jpg
!docs/**/*.gif
!docs/**/*.webp
# Reports and temp files
reports/
tasks/
scripts/compound/*.json
research_data/
**/search_analytics.json
# Internal dev/review notes — not for public repo
dev-docs/
# Windows-port working docs (local only, not for public repo)
docs/windows-port/
# Local config
compound.config.json
*.error.log
_scratch/
/odysseus/
+55 -1
View File
@@ -298,7 +298,7 @@ services:
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations - /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations
- ./gluetun-data:/tmp/gluetun:ro # get the port from port-updater - ./gluetun-data:/tmp/gluetun:ro # get the port from port-updater
environment: environment:
- "HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev,${LOCAL_IPV4}:${HOMEPAGE_PORT},${SERVER_NAME}:${HOMEPAGE_PORT},100.76.249.110:${HOMEPAGE_PORT},${SERVER_NAME}.tail:${HOMEPAGE_PORT}" # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts - "HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev,${LOCAL_IPV4}:${HOMEPAGE_PORT},${SERVER_NAME}:${HOMEPAGE_PORT},100.76.249.110:${HOMEPAGE_PORT},${SERVER_NAME}.tail:${HOMEPAGE_PORT},${EXTERNAL_IPV4}:${HOMEPAGE_PORT},${WEB_NAME}:${HOMEPAGE_PORT},${WEB_NAME},172.17.0.1:${HOMEPAGE_PORT}" # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
- "HOMEPAGE_VAR_DISK1=${DISK1}" - "HOMEPAGE_VAR_DISK1=${DISK1}"
- "HOMEPAGE_VAR_DISK2=${DISK2}" - "HOMEPAGE_VAR_DISK2=${DISK2}"
- "HOMEPAGE_VAR_DISK3=${DISK3}" - "HOMEPAGE_VAR_DISK3=${DISK3}"
@@ -444,17 +444,71 @@ services:
- termix-net - termix-net
restart: unless-stopped restart: unless-stopped
# pihole:
# container_name: pihole
# image: pihole/pihole:latest
# network_mode: "host"
# ports:
# - "53:53/tcp"
# - "53:53/udp"
# - "67:67/udp"
# - "80:80/tcp"
# environment:
# TZ: "America/Los_Angeles"
# #WEBPASSWORD: "password123"
# volumes:
# - "./etc-pihole:/etc/pihole"
# - "./etc-dnsmasq.d:/etc/dnsmasq.d"
# cap_add:
# - NET_ADMIN
# restart: unless-stopped
cloudflared:
container_name: cloudflared-tunnel
image: cloudflare/cloudflared:latest
restart: always
command: tunnel --no-autoupdate run --token eyJhIjoiMjUyZjQ3MWZkMzE2ZTg5NjI2ZjEzYzI1YzYwMTJiYzciLCJ0IjoiNWFhMDJlNmEtNDE2Ni00YTJkLTk1YzktMGFmMGY3MjM3YjIzIiwicyI6Ik5tWmhOR1V6WVRZdE5HRXdOaTAwT1RjekxXSTFPV1V0T0RrMU1UWTRabVl4WkRZeCJ9
# caddy:
# build:
# context: .
# dockerfile_inline: |
# FROM caddy:2.11-builder AS builder
# RUN xcaddy build --with github.com/caddyserver/nginx-adapter --with github.com/caddy-dns/cloudflare
# FROM caddy:2.11-builder
# COPY --from=builder /usr/bin/caddy /usr/bin/caddy
# container_name: caddy
# restart: unless-stopped
# ports:
# - "80:80"
# - "443:443"
# - "443:443/udp"
# environment:
# - CLOUDFLARE_API_TOKEN=eyJhIjoiMjUyZjQ3MWZkMzE2ZTg5NjI2ZjEzYzI1YzYwMTJiYzciLCJ0IjoiNWFhMDJlNmEtNDE2Ni00YTJkLTk1YzktMGFmMGY3MjM3YjIzIiwicyI6Ik5tWmhOR1V6WVRZdE5HRXdOaTAwT1RjekxXSTFPV1V0T0RrMU1UWTRabVl4WkRZeCJ9
# volumes:
# - ./conf:/etc/caddy
# - ./site:/srv
# - caddy_data:/data
# - caddy_config:/config
# networks:
# - server-mesh
networks: networks:
tdarr-net: tdarr-net:
driver: bridge driver: bridge
termix-net: termix-net:
driver: bridge driver: bridge
server-mesh:
external: true
staticaddress: staticaddress:
ipam: ipam:
config: config:
- subnet: "172.200.0.0/16" - subnet: "172.200.0.0/16"
volumes: volumes:
# open-webui:
# caddy_data:
# caddy_config:
myspeed: myspeed:
external: true # docker compose will fail creating myspeed if the volume hasn't been manually created, which we have done. unless you deleted it... external: true # docker compose will fail creating myspeed if the volume hasn't been manually created, which we have done. unless you deleted it...
termix-data: termix-data:
+30
View File
@@ -1,6 +1,36 @@
--- ---
# For configuration options and examples, please see: # For configuration options and examples, please see:
# https://gethomepage.dev/configs/bookmarks # https://gethomepage.dev/configs/bookmarks
- "Icons":
- "Plex":
- icon: si-plex-#EBAF00
href: https://github.com/dhaan7/torrent-stack
- "LibreChat":
- icon: si-ollama-#FFFFFF
href: https://0.0.0.0
- "Sonarr":
- icon: si-sonarr-#2596BE
href: https://github.com/dhaan7/torrent-stack
- "Radarr":
- icon: si-radarr-#FFCB3D
href: https://github.com/dhaan7/torrent-stack
- "Lidarr":
- icon: si-youtubemusic-#499848
href: https://github.com/dhaan7/torrent-stack
- "qBittorrent":
- icon: si-qbittorrent-#2F67BA
href: https://github.com/dhaan7/torrent-stack
- "Seerr":
- icon: sh-seerr-light
href: https://github.com/dhaan7/torrent-stack
- "Prowlarr":
- icon: sh-prowlarr-light
href: https://github.com/dhaan7/torrent-stack
- "pihole":
- icon: si-pihole-#96060C
href: https://github.com/dhaan7/torrent-stack
- Bookmarks: - Bookmarks:
- github/dhaan7/torrent-stack: - github/dhaan7/torrent-stack:
- icon: sh-github - icon: sh-github
+31 -51
View File
@@ -3,22 +3,17 @@
# https://gethomepage.dev/configs/services/ # https://gethomepage.dev/configs/services/
- "Top": - "Top":
- "io": - "Cloudflared Tunnel":
icon: sh-docker-light icon: sh-cloudflare-light
href: "{{HOMEPAGE_VAR_GLANCES_HOST}}" href: "https://dash.cloudflare.com/"
description:
widget: widget:
type: customapi type: cloudflared
url: "{{HOMEPAGE_VAR_GLANCES_ADDRESS}}/api/4/network/interface_name/value/enp2s0" accountid: 252f471fd316e89626f13c25c6012bc7 # from zero trust dashboard url e.g. https://one.dash.cloudflare.com/<accountid>/home/quick-start
method: GET tunnelid: 5aa02e6a-4166-4a2d-95c9-0af0f7237b23 # found in tunnels dashboard under the tunnel name
mappings: key: cfut_2i9bGXfbFuu0XkDEcCClXvVu0x1wYuwn7sTztLLGd5469df7
- field: enp2s0.0.bytes_recv_rate_per_sec
label: Recv.
format: bitrate
- field: enp2s0.0.bytes_sent_rate_per_sec
label: Sent.
format: bitrate
- "External Address": - "External Address":
#icon: si-globus icon: si-globus
href: https://api.ipify.org href: https://api.ipify.org
widget: widget:
type: customapi type: customapi
@@ -43,33 +38,35 @@
url: "{{HOMEPAGE_VAR_MYSPEED_ADDRESS}}" url: "{{HOMEPAGE_VAR_MYSPEED_ADDRESS}}"
fields: [download, upload] fields: [download, upload]
- "non-torrent-stack": - "non-torrent-stack":
- "Windows 11 >": - "LibreChat":
icon: sh-microsoft-windows-light icon: sh-open-webui-light
href: http://windows11:8006 href: "{{HOMEPAGE_VAR_WEB_PROTOCOL}}://{{HOMEPAGE_VAR_SERVER_NAME}}:3080"
server: my-docker server: my-docker
container: windows11 container: open-webui
description: Web (Tailscale Required) description: Local AI Models
- "Windows 10 >": - "llama.cpp (thinkcentre)":
icon: sh-microsoft-windows-light icon: sh-llama-cpp-light
href: http://windows10:8006 href: "http://192.168.50.116:5079"
siteMonitor: http://192.168.50.116:5079
description: 0GB VRAM + 16GB RAM
- "llama.cpp (shaan-pc)":
icon: sh-llama-cpp-light
href: "http://192.168.50.6:5078"
siteMonitor: http://192.168.50.6:5078
description: 42GB VRAM + 32GB RAM
- "Pi-Hole Adblocker":
icon: sh-pi-hole-light
href: "http://192.168.50.2/admin"
description: Configure Device DNS to '192.168.50.2'
server: my-docker server: my-docker
container: windows10 container: pihole
description: Web (Tailscale Required) # api token with `Account.Cloudflare Tunnel:Read` https://dash.cloudflare.com/profile/api-tokens
- "TailsOS >":
icon: sh-linux-light
href: ${HOMEPAGE_VAR_WEB_PROTOCOL}://${HOMEPAGE_VAR_SERVER_NAME}:8006
server: my-docker
container: qemu
description: Web
- " ":
description:
- "Media": - "Media":
- "Plex >": - "Plex >":
icon: sh-plex-light icon: sh-plex-light
#icon: sh-plex-dark #icon: sh-plex-dark
href: "{{HOMEPAGE_VAR_PLEX_HOST}}" href: "{{HOMEPAGE_VAR_PLEX_HOST}}"
description: Watch description: Watch
ping: "htttp://135.26.168.87:32401" # "{{HOMEPAGE_VAR_WEB_PROTOCOL}}://{{HOMEPAGE_VAR_EXTERNAL_IPV4}}:{{HOMEPAGE_VAR_PLEX_PORT}}"
siteMonitor: "{{HOMEPAGE_VAR_PLEX_ADDRESS}}" siteMonitor: "{{HOMEPAGE_VAR_PLEX_ADDRESS}}"
widget: widget:
type: plex type: plex
@@ -82,7 +79,6 @@
description: Monitor description: Monitor
server: my-docker server: my-docker
container: tautulli container: tautulli
siteMonitor: "{{HOMEPAGE_VAR_TAUTULLI_ADDRESS}}"
widget: widget:
type: tautulli type: tautulli
url: "{{HOMEPAGE_VAR_TAUTULLI_ADDRESS}}" url: "{{HOMEPAGE_VAR_TAUTULLI_ADDRESS}}"
@@ -96,7 +92,6 @@
description: TV Shows description: TV Shows
server: my-docker server: my-docker
container: sonarr container: sonarr
siteMonitor: "{{HOMEPAGE_VAR_SONARR_ADDRESS}}"
widget: widget:
type: sonarr type: sonarr
url: "{{HOMEPAGE_VAR_SONARR_ADDRESS}}" url: "{{HOMEPAGE_VAR_SONARR_ADDRESS}}"
@@ -115,7 +110,6 @@
description: Movies description: Movies
server: my-docker server: my-docker
container: radarr container: radarr
siteMonitor: "{{HOMEPAGE_VAR_RADARR_ADDRESS}}"
widget: widget:
type: radarr type: radarr
url: "{{HOMEPAGE_VAR_RADARR_ADDRESS}}" url: "{{HOMEPAGE_VAR_RADARR_ADDRESS}}"
@@ -161,7 +155,6 @@
description: Music description: Music
server: my-docker server: my-docker
container: lidarr container: lidarr
siteMonitor: "{{HOMEPAGE_VAR_LIDARR_ADDRESS}}"
widget: widget:
type: lidarr type: lidarr
url: "{{HOMEPAGE_VAR_LIDARR_ADDRESS}}" url: "{{HOMEPAGE_VAR_LIDARR_ADDRESS}}"
@@ -179,7 +172,6 @@
description: Request description: Request
server: my-docker server: my-docker
container: seerr container: seerr
siteMonitor: "{{HOMEPAGE_VAR_SEERR_ADDRESS}}"
widget: widget:
type: seerr type: seerr
url: "{{HOMEPAGE_VAR_SEERR_ADDRESS}}" url: "{{HOMEPAGE_VAR_SEERR_ADDRESS}}"
@@ -199,7 +191,6 @@
description: Stage description: Stage
server: my-docker server: my-docker
container: tdarr container: tdarr
siteMonitor: "{{HOMEPAGE_VAR_TDARR_ADDRESS}}"
widget: widget:
type: tdarr type: tdarr
url: "{{HOMEPAGE_VAR_TDARR_ADDRESS}}" url: "{{HOMEPAGE_VAR_TDARR_ADDRESS}}"
@@ -220,12 +211,6 @@
icon: sh-tdarr icon: sh-tdarr
server: my-docker server: my-docker
container: tdarr-node container: tdarr-node
- "Arc B570":
icon: sh-tdarr
ping: "192.168.50.6"
- "M2 Media Engine":
icon: sh-tdarr
ping: "192.168.50.157"
- "Network": - "Network":
- "Network_2x2": - "Network_2x2":
- "Gluetun": - "Gluetun":
@@ -249,7 +234,6 @@
description: Indexer Management description: Indexer Management
server: my-docker server: my-docker
container: prowlarr container: prowlarr
siteMonitor: "{{HOMEPAGE_VAR_PROWLARR_ADDRESS}}"
widget: widget:
type: prowlarr type: prowlarr
url: "{{HOMEPAGE_VAR_PROWLARR_ADDRESS}}" url: "{{HOMEPAGE_VAR_PROWLARR_ADDRESS}}"
@@ -282,7 +266,6 @@
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}" href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker server: my-docker
container: qbittorrent container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
#description: #description:
widget: widget:
type: customapi type: customapi
@@ -290,7 +273,7 @@
mappings: mappings:
#- field: #- field:
- field: _count - field: _count
label: "Active" label: "Active"
format: integer format: integer
scale: 1 scale: 1
highlight: highlight:
@@ -305,7 +288,6 @@
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}" href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker server: my-docker
container: qbittorrent container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget: widget:
type: customapi type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata" url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
@@ -342,7 +324,6 @@
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}" href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker server: my-docker
container: qbittorrent container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget: widget:
type: customapi type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata" url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
@@ -375,7 +356,6 @@
href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}" href: "{{HOMEPAGE_VAR_QBITTORRENT_HOST}}"
server: my-docker server: my-docker
container: qbittorrent container: qbittorrent
siteMonitor: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}"
widget: widget:
type: customapi type: customapi
url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata" url: "{{HOMEPAGE_VAR_QBITTORRENT_ADDRESS}}/api/v2/sync/maindata"
+19 -4
View File
@@ -8,11 +8,11 @@ instanceName: torrent-stack
background: background:
image: /images/wallhaven-pk997m.jpg image: /images/wallhaven-pk997m.jpg
#blur: sm # Options: sm, md, lg, xl #blur: sm # Options: sm, md, lg, xl
#saturate: 200 #saturate: 10
#brightness: 100 #brightness: 10
opacity: 30 opacity: 30
cardBlur: xl cardBlur: md
theme: dark theme: dark
color: slate color: slate
@@ -20,10 +20,11 @@ color: slate
target: _blank # opens links in a new tab target: _blank # opens links in a new tab
showStats: false # for docker containers showStats: false # for docker containers
#statusStyle: basic # dot, basic statusStyle: dot # dot, basic
hideErrors: false # change to true once deployed hideErrors: false # change to true once deployed
disableIndexing: true # ask indexers not to index your homepage, incase you port forward disableIndexing: true # ask indexers not to index your homepage, incase you port forward
showActivity: false showActivity: false
#bookmarksStyle: icons
quicklaunch: quicklaunch:
searchDescriptions: true searchDescriptions: true
@@ -39,23 +40,33 @@ headerStyle: boxed #underlined
useEqualHeights: true useEqualHeights: true
layout: layout:
"Icons":
tab: Icons
iconsOnly: true
header: false
iconStyle: gradient
"Top": "Top":
tab: All
header: false header: false
style: row style: row
columns: 4 columns: 4
"non-torrent-stack": "non-torrent-stack":
tab: All
header: false header: false
style: row style: row
columns: 4 columns: 4
"Media": "Media":
tab: All
header: false header: false
style: column style: column
columns: 1 columns: 1
"Media_2x2": "Media_2x2":
tab: All
header: false header: false
style: row style: row
columns: 2 columns: 2
"Media_Bottom": "Media_Bottom":
tab: All
header: false header: false
style: row style: row
columns: 1 columns: 1
@@ -64,18 +75,22 @@ layout:
style: row style: row
columns: 2 columns: 2
"Network": "Network":
tab: All
header: false header: false
style: column style: column
columns: 1 columns: 1
"Network_list": "Network_list":
tab: All
header: false header: false
style: row style: row
columns: 1 columns: 1
"Network_2x2": "Network_2x2":
tab: All
header: false header: false
style: row style: row
columns: 2 columns: 2
"Bookmarks": "Bookmarks":
tab: All
header: false header: false
style: row style: row
columns: 1 columns: 1