» sigmonsays / selfhosted
Posted on 2025/11/05
tagged selfhosted
tagged selfhosted
homepage is a simple dashboard that supports adding custom links and widgets for all your services. Here you will find my configurations (with secrets redacted of course).
the list of dynamic widgets / services I currently have
- stocks
- uptime kuma
- photoprism
- qbittorrent
- miniflux
Notes _
- settings.yaml https://gethomepage.dev/v0.8.3/configs/settings/
- bookmarks.yaml https://gethomepage.dev/v0.8.3/configs/bookmarks/
- services.yaml https://gethomepage.dev/v0.8.3/configs/services/
- service widgets https://gethomepage.dev/v0.8.3/configs/service-widgets/
- list of widgets https://gethomepage.dev/v0.8.3/widgets/
- the sidebar is confusing and must be expanded
Configs _
Anywhere you see XXX you need to replace with actual values (username, password, access key, etc)
.env
topPUID=1000
PGID=1000
DATA_ROOT=/srv/homepage
config/bookmarks.yaml
top- Daily:
- "Fastmail":
- href: https://app.fastmail.com/mail/Inbox/?u=dd1140f1
icon: /icons/app.fastmail.ico.png
description: ""
- "Hangouts":
- href: https://mail.google.com/chat/u/0/
icon: /icons/mail.google.ico-0.png
description: ""
- "SimpleNote":
- href: https://app.simplenote.com/
icon: /icons/app.simplenote.ico.png
description: ""
- "Spotify":
- href: https://open.spotify.com/
icon: /icons/open.spotify.ico-0.png
description: ""
- Social:
- Reddit:
- icon: reddit.png
href: https://reddit.com/
description: ""
- Element:
- href: https://app.element.io/
icon: /icons/app.element.io.ico.png
description: ""
- Discord:
- href: https://discord.com/channels/XXX
icon: /icons/discord.ico.png
description: ""
- Mastodon:
- href: https://mastodon.social
icon: /icons/globe.ico.png
description: ""
- Bluesky:
- href: https://bsky.app/
icon: /icons/globe.ico.png
description: ""
- Lemmy:
- href: https://lemmy.studio/
icon: /icons/globe.ico.png
description: ""
- "Entertainment":
- YouTube:
- abbr: YT
href: https://youtube.com/
icon: https://youtube.com/favicon.ico
description: ""
- "The Moment":
- href: https://www.youtube.com/@the_moment_work
icon: /icons/youtube-the-moment.ico.png
description: ""
- What But Why:
- href: https://waitbutwhy.com/
icon: /icons/waitbutwhy.ico.png
description: ""
- "Hackster.io":
- href: https://www.hackster.io/
icon: /icons/globe.ico.png
description: ""
- Cloud Services:
- AWS Console:
- href: https://console.aws.amazon.com/console/home?region=us-east-1
icon: /icons/console.aws.amazon.ico.png
description: ""
- Backblaze:
- href: https://www.backblaze.com/
icon: /icons/backblaze.ico.png
description: ""
- TV:
- Netflix:
- href: https://www.netflix.com
icon: /icons/netflix.ico.png
description: ""
- Youtube:
- href: https://www.youtube.com/
icon: /icons/youtube.ico.png
description: ""
- Vudu:
- href: https://www.vudu.com
icon: /icons/vudu.ico.png
description: ""
- Amazon Prime Video:
- href: https://www.amazon.com/Prime-Video/
icon: /icons/amazon.ico-0.png
description: ""
- HBO Max:
- href: https://play.hbomax.com/
icon: /icons/play.hbomax.ico.png
description: ""
- Hulu:
- href: https://hulu.com/
icon: /icons/huli.ico.png
description: ""
- News:
- "The Travel Magazine":
- href: https://www.thetravelmagazine.net/
icon: /icons/thetravelmagazine.ico.png
description: ""
- "Google News":
- href: https://news.google.com
icon: /icons/news.google.ico.png
description: ""
- "The Crow":
- href: https://thecrow.uk/
icon: /icons/thecrow.uk.ico.png
description: ""
- "Jalopnik":
- href: https://jalopnik.com/
icon: /icons/jalopnik.ico.png
description: ""
- "KPBS":
- href: https://www.kpbs.org/
icon: /icons/kpbs.org.ico.png
description: ""
- "Bleeping Compputer":
- href: https://www.bleepingcomputer.com/
icon: /icons/bleepingcomputer.ico.png
description: ""
- "Live Science":
- href: https://www.livescience.com/
icon: /icons/livescience.ico.png
description: ""
- "Vice":
- href: https://www.vice.com/en
icon: /icons/vice.png
description: ""
- "Wired":
- href: https://www.wired.com
icon: https://www.wired.com/favicon.ico
description: ""
- Github:
- abbr: GH
href: https://github.com/
icon: https://github.com/favicon.ico
description: ""
- Ycombinator:
- abbr: YC
href: https://news.ycombinator.com/news
icon: https://news.ycombinator.com/favicon.ico
description: ""
- Lobster:
- href: https://lobste.rs/
icon: https://lobste.rs/favicon.ico
description: ""
- Phoronix:
- href: https://www.phoronix.com/
icon: /icons/phoronix.ico.png
description: ""
- The Register:
- href: https://www.theregister.com/
icon: /icons/theregister.ico.png
description: ""
- People:
- "Julia Evans":
- href: https://jvns.ca/
icon: /icons/jvns.ca.ico.png
description: Julia Evans
- "Brian Schrader":
- href: https://brianschrader.com/
icon: /icons/brianschrader.ico.png
description: Brian Schrader
- "Phillip Tool":
- href: https://www.philipotoole.com/
icon: /icons/philipotoole.ico.png.png
description: Philip Toole
- "Josh Rosso":
- href: https://joshrosso.com/docs/
icon: /icons/joshrosso.ico.png
description: Josh Rosso
- "Scattered Thoughts":
- href: https://scattered-thoughts.net/
icon: /icons/scattered-thoughts.ico.png
- "hevic":
- href: https://henvic.dev/
icon: /icons/henvic.dev.ico.png
- "anish athalye":
- href: https://www.anishathalye.com/
icon: /icons/anishathalye.ico.png
- "Joel On Software":
- href: https://www.joelonsoftware.com/
description: Joel on Software
icon: /icons/joelonsoftware.ico.png
- "Eaton Phil":
- href: https://eatonphil.com/
- "Yummy Melon":
- href: http://yummymelon.com/
icon: /icons/yummymelon.ico.png
description: 최민수
- "Faster Than Lime":
- href: https://fasterthanli.me/
config/docker.yaml
top---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/docker/
# my-docker:
# host: 127.0.0.1
# port: 2375
# my-docker:
# socket: /var/run/docker.sock
config/kubernetes.yaml
top---
# sample kubernetes config
config/proxmox.yaml
top---
# url: https://proxmox.host.or.ip:8006
# token: username@pam!Token ID
# secret: secret
config/services.yaml
top- "Self Hosted":
- Uptime Kuma:
abbr: UK
icon: /icons/uptimekuma.png
#href: http://uptime.lan
href: http://svc1.lan:3001/
description: Monitoring
widget:
type: uptimekuma
url: http://svc1.lan:3001
# slug: What dashboard to show
slug: dashboard
#slug: hosts
- Photoprism:
abbr: PP
icon: /icons/photoprism.example.com.ico.png
#href: https://photoprism.example.com
href: http://photoprism.lan
description: Photos
widget:
type: photoprism
url: http://photoprism.lan
username: XXX
password: XXX
fields: [ "albums", "photos", "videos"]
- QBittorrent:
abbr: QT
icon: /icons/qbittorrent.svg
#href: http://svc1.lan:8084/
href: http://torrent.lan
description: torrent client
widget:
type: qbittorrent
#url: http://torrent.lan
url: http://svc2.lan:8084
username: XXX
password: XXX
fields: [ "download", "seed", "upload" ]
- Miniflux:
abbr: MF
icon: /icons/miniflux.ico.png
#href: http://svc1.lan:8085/unread
href: http://miniflux.lan/unread
description: RSS
widget:
type: miniflux
#url: http://svc1.lan:8085/
url: http://172.16.0.34:8085/
key: "XXX"
- Paperless:
abbr: PL
icon: paperless.png
href: http://svc1.lan:8000
description: paperless
- Home Assistant:
abbr: HA
icon: home-assistant.png
href: https://ha.example.com
description: Home Assistant
- Gitea:
abbr: GT
icon: /icons/git.example.com.ico.png
href: https://git.example.com/
description: git ui
- Traefik:
abbr: TR
icon: /icons/traefik.svg
href: http://svc1.lan:8089
description: traefik load balancer
- Jellyfin:
abbr: JF
icon: /icons/jellyfin.svg
#href: http://video.lan:8096/
href: http://jellyfin.lan
description: media
- Plex:
#abbr: JF
icon: /icons/plex.png
#href: http://video.lan:32400
href: http://plex.lan
description: media
- Immich:
abbr: IM
icon: /icons/immich.png
href: http://svc2.lan:2283/
description: Immich
- Syncthing:
- Svc1:
href: http://svc1.lan:8384/
icon: syncthing.png
- Svc2:
href: http://svc2.lan:8384/
icon: syncthing.png
# - More:
# - Calendar:
# href: https://app.fastmail.com/calendar/month
# icon: fastmail.png
# widget:
# type: calendar
config/settings.yaml
toptitle: Homepage v1
providers:
finnhub: XXX
background:
image: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80
#image: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80
#image: https://images.unsplash.com/photo-1703217889032-c951a2934609?q=80&w=1374&auto=format&fit=crop
#blur: sm
#saturate: 50
opacity: 30
theme: dark
# Supported colors are: slate, gray, zinc, neutral, stone, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose, red, white
color: zinc
target: _blank
layout:
"Self Hosted":
header: false
style: row
columns: 4
#tab: Main
#fiveColumns: true
#
Syncthing:
header: false
#icon: syncthing.png
style: row
columns: 4
#tab: Main
Daily:
style: row
columns: 4
#tab: Main
Social:
style: row
columns: 4
#tab: Main
Entertainment:
style: row
columns: 4
#tab: Main
News:
style: row
columns: 4
#tab: Main
People:
style: row
columns: 4
#tab: Main
Tech:
style: row
columns: 4
#tab: Main
Cloud Services:
style: row
columns: 4
#tab: Main
TV:
style: row
columns: 4
#tab: Main
config/widgets.yaml
top---
# For configuration options and examples, please see:
# https://gethomepage.dev/latest/configs/service-widgets
- resources:
cpu: true
memory: true
disk: /
- search:
provider: duckduckgo
target: _blank
- stocks:
provider: finnhub
color: true # optional, defaults to true
cache: 1 # optional, default caches results for 1 minute
watchlist:
- NVDA
# # Composite indexes
# # S&P 500
# - GSPC
# # Dow jones industrial average
# - DJI
# # Nasdaq composite
# - IXIC
docker-compose.yaml
topnetworks:
svc1:
name: svc1
external: true
services:
homepage:
networks:
- svc1
image: ghcr.io/gethomepage/homepage:latest
labels:
- traefik.http.routers.homepage.rule=Host(`homepage.lan`)
- tsdproxy.enable=true
container_name: homepage
ports:
- 3007:3000
volumes:
- ${DATA_ROOT}/config:/app/config
- ${DATA_ROOT}/images:/app/public/images
- ${DATA_ROOT}/icons:/app/public/icons
# (optional) For docker integrations, see alternative methods
#- /var/run/docker.sock:/var/run/docker.sock
environment:
PUID: $PUID
PGID: $PGID
HOMEPAGE_ALLOWED_HOSTS: svc1.lan:3007,homepage.lan
restart: unless-stopped