Initial commit: Glance and Homepage homelab configs
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Homepage config
|
||||
|
||||
Config for [gethomepage.dev](https://gethomepage.dev/) — an alternative/companion
|
||||
to the `glance.yml` in the parent folder. Same services, different dashboard style.
|
||||
|
||||
All self-hosted services live under `*.klhoud.com`.
|
||||
|
||||
## Files
|
||||
|
||||
| File | Purpose |
|
||||
| ------------------- | -------------------------------------------------------------------- |
|
||||
| `settings.yaml` | Title, theme, layout order, providers |
|
||||
| `services.yaml` | Service cards (Homelab / Work / Projects) + widgets where supported |
|
||||
| `bookmarks.yaml` | Quick-link groups |
|
||||
| `widgets.yaml` | Info widgets (resources, search, weather, datetime, greeting) |
|
||||
| `docker.yaml` | Docker host definitions (commented out — fill in if/when you wire it)|
|
||||
| `kubernetes.yaml` | Disabled placeholder |
|
||||
|
||||
## Environment variables
|
||||
|
||||
`services.yaml` references these via `{{HOMEPAGE_VAR_*}}`. Set them on the
|
||||
Homepage container (Coolify → Environment Variables). Any that are omitted just
|
||||
make that widget show an error — the service card itself still renders.
|
||||
|
||||
```
|
||||
HOMEPAGE_VAR_NEXTCLOUD_USER
|
||||
HOMEPAGE_VAR_NEXTCLOUD_PASS # Nextcloud app password, NOT your login password
|
||||
HOMEPAGE_VAR_ADGUARD_USER
|
||||
HOMEPAGE_VAR_ADGUARD_PASS
|
||||
HOMEPAGE_VAR_PROXMOX_USER # e.g. api@pam!homepage
|
||||
HOMEPAGE_VAR_PROXMOX_TOKEN
|
||||
```
|
||||
|
||||
Also required so Homepage allows iframed/proxied requests from your domain:
|
||||
|
||||
```
|
||||
HOMEPAGE_ALLOWED_HOSTS=homepage.klhoud.com
|
||||
```
|
||||
|
||||
## Docker / Coolify deploy
|
||||
|
||||
Mount this folder at `/app/config`:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
homepage:
|
||||
image: ghcr.io/gethomepage/homepage:latest
|
||||
container_name: homepage
|
||||
ports:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- ./homepage:/app/config
|
||||
# - /var/run/docker.sock:/var/run/docker.sock:ro # optional
|
||||
environment:
|
||||
HOMEPAGE_ALLOWED_HOSTS: homepage.klhoud.com
|
||||
HOMEPAGE_VAR_NEXTCLOUD_USER: ${HOMEPAGE_VAR_NEXTCLOUD_USER}
|
||||
HOMEPAGE_VAR_NEXTCLOUD_PASS: ${HOMEPAGE_VAR_NEXTCLOUD_PASS}
|
||||
HOMEPAGE_VAR_ADGUARD_USER: ${HOMEPAGE_VAR_ADGUARD_USER}
|
||||
HOMEPAGE_VAR_ADGUARD_PASS: ${HOMEPAGE_VAR_ADGUARD_PASS}
|
||||
HOMEPAGE_VAR_PROXMOX_USER: ${HOMEPAGE_VAR_PROXMOX_USER}
|
||||
HOMEPAGE_VAR_PROXMOX_TOKEN: ${HOMEPAGE_VAR_PROXMOX_TOKEN}
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Heads-up
|
||||
|
||||
Your `glance.yml` (parent folder, lines 127 & 213) contains a committed GitHub
|
||||
PAT. Rotate it and move it to an env var before pushing anywhere public.
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
# https://gethomepage.dev/configs/bookmarks/
|
||||
|
||||
- Developer:
|
||||
- GitHub:
|
||||
- abbr: GH
|
||||
href: https://github.com
|
||||
- Svelte Kit:
|
||||
- abbr: SK
|
||||
href: https://kit.svelte.dev
|
||||
- Tailwind:
|
||||
- abbr: TW
|
||||
href: https://tailwindcss.com
|
||||
- Bun:
|
||||
- abbr: BN
|
||||
href: https://bun.sh
|
||||
|
||||
- Commute:
|
||||
- Citi Bike map:
|
||||
- abbr: CB
|
||||
href: https://account.citibikenyc.com/map
|
||||
- MTA status:
|
||||
- abbr: MT
|
||||
href: https://new.mta.info/status
|
||||
- Google Maps:
|
||||
- abbr: GM
|
||||
href: https://maps.google.com
|
||||
|
||||
- Neighborhood:
|
||||
- NYT Cooking:
|
||||
- abbr: NY
|
||||
href: https://cooking.nytimes.com
|
||||
- Metrograph:
|
||||
- abbr: MG
|
||||
href: https://metrograph.com
|
||||
- Film Forum:
|
||||
- abbr: FF
|
||||
href: https://filmforum.org
|
||||
- IFC Center:
|
||||
- abbr: IF
|
||||
href: https://www.ifccenter.com
|
||||
- Anthology:
|
||||
- abbr: AF
|
||||
href: https://anthologyfilmarchives.org
|
||||
|
||||
- Reading:
|
||||
- Hellgate:
|
||||
- abbr: HG
|
||||
href: https://hellgatenyc.com
|
||||
- THE CITY:
|
||||
- abbr: TC
|
||||
href: https://www.thecity.nyc
|
||||
- Gothamist:
|
||||
- abbr: GO
|
||||
href: https://gothamist.com
|
||||
- Hacker News:
|
||||
- abbr: HN
|
||||
href: https://news.ycombinator.com
|
||||
- Lobsters:
|
||||
- abbr: LO
|
||||
href: https://lobste.rs
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
# https://gethomepage.dev/configs/docker/
|
||||
# Fill these in if you want per-container stats on service cards.
|
||||
# Remove this file (or leave empty) if you don't want Docker integration.
|
||||
|
||||
# my-coolify-host:
|
||||
# host: 127.0.0.1
|
||||
# port: 2375
|
||||
# my-proxmox-host:
|
||||
# socket: /var/run/docker.sock
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
# https://gethomepage.dev/configs/kubernetes/
|
||||
# Not used — you're on Proxmox + Coolify. Kept here so Homepage doesn't warn
|
||||
# about a missing config. Leave mode as "disabled" to skip cluster discovery.
|
||||
|
||||
mode: disabled
|
||||
@@ -0,0 +1,57 @@
|
||||
---
|
||||
# https://gethomepage.dev/configs/services/
|
||||
# Widget docs per service: https://gethomepage.dev/widgets/
|
||||
|
||||
- Homelab:
|
||||
- Nextcloud:
|
||||
href: https://cloud.klhoud.com
|
||||
description: Files, calendar, contacts
|
||||
icon: nextcloud.svg
|
||||
siteMonitor: https://cloud.klhoud.com
|
||||
widget:
|
||||
type: nextcloud
|
||||
url: https://cloud.klhoud.com
|
||||
username: "{{HOMEPAGE_VAR_NEXTCLOUD_USER}}"
|
||||
password: "{{HOMEPAGE_VAR_NEXTCLOUD_PASS}}"
|
||||
|
||||
- AdGuard Home:
|
||||
href: https://adguard.klhoud.com
|
||||
description: Network-wide DNS blocking
|
||||
icon: adguard-home.svg
|
||||
siteMonitor: https://adguard.klhoud.com
|
||||
widget:
|
||||
type: adguard
|
||||
url: https://adguard.klhoud.com
|
||||
username: "{{HOMEPAGE_VAR_ADGUARD_USER}}"
|
||||
password: "{{HOMEPAGE_VAR_ADGUARD_PASS}}"
|
||||
|
||||
- Proxmox:
|
||||
href: https://proxmox.klhoud.com
|
||||
description: Hypervisor
|
||||
icon: proxmox.svg
|
||||
siteMonitor: https://proxmox.klhoud.com
|
||||
widget:
|
||||
type: proxmox
|
||||
url: https://proxmox.klhoud.com
|
||||
username: "{{HOMEPAGE_VAR_PROXMOX_USER}}" # e.g. api@pam!homepage
|
||||
password: "{{HOMEPAGE_VAR_PROXMOX_TOKEN}}"
|
||||
node: pve
|
||||
|
||||
- Coolify:
|
||||
href: https://coolify.klhoud.com
|
||||
description: Self-hosted PaaS
|
||||
icon: coolify.svg
|
||||
siteMonitor: https://coolify.klhoud.com
|
||||
|
||||
- Projects:
|
||||
- Cardless:
|
||||
href: https://cardless.games
|
||||
description: Card game project
|
||||
icon: mdi-cards-playing
|
||||
siteMonitor: https://cardless.games
|
||||
|
||||
- Selfworth:
|
||||
href: https://selfworth.klhoud.com
|
||||
description: Personal project
|
||||
icon: mdi-chart-line
|
||||
siteMonitor: https://selfworth.klhoud.com
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
# https://gethomepage.dev/configs/settings/
|
||||
title: Konrad's Homelab
|
||||
favicon: https://cloud.klhoud.com/favicon.ico
|
||||
|
||||
# Gruvbox-ish, matching your Glance theme
|
||||
theme: dark
|
||||
color: stone
|
||||
background:
|
||||
opacity: 80
|
||||
blur: sm
|
||||
|
||||
headerStyle: clean
|
||||
language: en
|
||||
target: _blank
|
||||
|
||||
# Layout: column order on the dashboard
|
||||
layout:
|
||||
Homelab:
|
||||
style: row
|
||||
columns: 4
|
||||
icon: mdi-server-network
|
||||
Work:
|
||||
style: row
|
||||
columns: 2
|
||||
icon: mdi-briefcase
|
||||
Projects:
|
||||
style: row
|
||||
columns: 2
|
||||
icon: mdi-rocket-launch
|
||||
|
||||
# Quick links shown in the top-right of the header
|
||||
quicklaunch:
|
||||
searchDescriptions: true
|
||||
hideInternetSearch: false
|
||||
showSearchSuggestions: true
|
||||
hideVisitURL: false
|
||||
|
||||
providers:
|
||||
openweathermap: openweathermapapikey
|
||||
# openmeteo needs no key
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
# https://gethomepage.dev/widgets/info/
|
||||
# Info widgets render across the top of the dashboard.
|
||||
|
||||
- resources:
|
||||
label: system
|
||||
cpu: true
|
||||
memory: true
|
||||
disk: /
|
||||
|
||||
- search:
|
||||
provider: duckduckgo
|
||||
target: _blank
|
||||
|
||||
- openmeteo:
|
||||
label: Brooklyn
|
||||
latitude: 40.6782
|
||||
longitude: -73.9442
|
||||
timezone: America/New_York
|
||||
units: imperial
|
||||
cache: 5
|
||||
|
||||
- datetime:
|
||||
text_size: xl
|
||||
format:
|
||||
timeStyle: short
|
||||
dateStyle: short
|
||||
hourCycle: h12
|
||||
Reference in New Issue
Block a user