diff --git a/configs/bookmarks.yaml b/configs/bookmarks.yaml new file mode 100755 index 0000000..d31cc80 --- /dev/null +++ b/configs/bookmarks.yaml @@ -0,0 +1,35 @@ +- Unraid: + - Dashboard: + - icon: unraid.png + href: http://YOUR_NAS_IP/Dashboard + abbr: UI + - Docker: + - icon: sh-docker + href: http://YOUR_NAS_IP/Docker + abbr: DK + - Shares: + - icon: files.png + href: http://YOUR_NAS_IP/Shares + abbr: FS + - Scripts: + - icon: sh-bash + href: http://YOUR_NAS_IP/Settings/Userscripts + abbr: SH + +- Quick Access: + - Pi-hole: + - icon: pi-hole.png + href: http://YOUR_NAS_IP:8053/admin + abbr: PI + - Tailscale: + - icon: tailscale.png + href: https://login.tailscale.com/admin + abbr: TS + - Router: + - icon: sh-router + href: http://YOUR_ROUTER_IP + abbr: RT + - Netdata: + - icon: netdata.png + href: http://YOUR_NAS_IP:19999 + abbr: ND \ No newline at end of file diff --git a/configs/config/images/kalilab_background.png b/configs/config/images/kalilab_background.png new file mode 100644 index 0000000..d834e6c Binary files /dev/null and b/configs/config/images/kalilab_background.png differ diff --git a/configs/config/images/kalilab_logo_transparent.png b/configs/config/images/kalilab_logo_transparent.png new file mode 100644 index 0000000..ad63218 Binary files /dev/null and b/configs/config/images/kalilab_logo_transparent.png differ diff --git a/configs/config/public/images/kalilab_background.png b/configs/config/public/images/kalilab_background.png new file mode 100644 index 0000000..d834e6c Binary files /dev/null and b/configs/config/public/images/kalilab_background.png differ diff --git a/configs/config/public/images/kalilab_logo_transparent.png b/configs/config/public/images/kalilab_logo_transparent.png new file mode 100644 index 0000000..ad63218 Binary files /dev/null and b/configs/config/public/images/kalilab_logo_transparent.png differ diff --git a/configs/custom.css b/configs/custom.css new file mode 100755 index 0000000..06a95be --- /dev/null +++ b/configs/custom.css @@ -0,0 +1,214 @@ +/*================================== + FONT SETTINGS +==================================*/ +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Merriweather:wght@400;700&display=swap'); + +/*================================== + ROOT VARIABLES +==================================*/ +:root { + --font-primary: 'Poppins', sans-serif; + --font-secondary: 'Merriweather', serif; + + --color-border: #4d4e5e; + --color-tab-border: #4a4a54; + --color-tab-hover: #AC2747; + --color-background-primary: #11141d; + --color-background-hover: #08081c; + --color-block: #222432; + --color-block-hover: #2d2d4a; + --color-bookmark-icon: #1f233c; + + --gradient-border: linear-gradient(90deg, #F75050, #6C033D, #F75050); + + --spacing-xs: 5px; + --spacing-sm: 8px; + --spacing-md: 10px; + --spacing-lg: 30px; + --spacing-xl: 40px; + + --border-width: 2px; + --border-radius: .375rem; + --border-radius-sm: .275rem; + + --animation-duration: 3s; + --transition-duration: 0.3s; + + --logo-size: 66px; + + --tab-border-width: 2px; + --tab-border-radius: .375rem; + --tab-backdrop-filter: blur(1px); + + /* 👇 Abstand zwischen Kacheln (verdoppelt) */ + --card-gap: 4px; +} + +/*================================== + GLOBAL FONT +==================================*/ +* { + font-family: var(--font-primary) !important; +} + +/*================================== + TAB STYLES +==================================*/ +#myTab { + padding: var(--spacing-xs); + background: none; + backdrop-filter: none; + display: flex; + justify-content: flex-start; + gap: var(--spacing-xl); +} + +button[id$='-tab'] { + border-width: var(--tab-border-width); + border-radius: var(--tab-border-radius); + border-color: var(--color-tab-border); + backdrop-filter: var(--tab-backdrop-filter); + padding: 1px; + margin: 1px; + border-spacing: 0; + transition: border-color var(--transition-duration) ease; +} + +button[id$='-tab']:hover { + border-color: var(--color-tab-hover); +} + +/*================================== + HEADER +==================================*/ +.information-widget-logo + .information-widget-greeting span { + font-family: var(--font-secondary) !important; + font-weight: 700 !important; +} + +.information-widget-logo img { + width: var(--logo-size) !important; + height: var(--logo-size) !important; + max-width: none; + max-height: none; + margin-left: var(--spacing-lg); +} + +/*================================== + SERVICE CARD +==================================*/ +.service-card { + position: relative; + padding: 0; + margin: 0 !important; + border-radius: var(--border-radius); + background: transparent; + border: var(--border-width) solid var(--color-border); + overflow: visible; +} + +/* Hintergrund */ +.bg-theme-200\/50, +.flex-1.service-block { + background-color: var(--color-block) !important; + transition: background-color var(--transition-duration) ease; +} + +.service-card:hover [class*="bg-theme-200/50"], +.service-card:hover .flex-1.service-block { + background-color: var(--color-block-hover) !important; +} + +/*================================== + KARTEN ABSTAND +==================================*/ + +.services-group ul, +.services-group .flex.flex-col, +.services-group [class*="flex-col"] { + display: flex !important; + flex-direction: column !important; + gap: var(--card-gap) !important; +} + +.services-group li { + margin: 0 !important; +} + +/*================================== + ANIMATED BORDER +==================================*/ +.service-card::before { + content: ''; + position: absolute; + inset: calc(-1 * var(--border-width)); + background: var(--gradient-border); + z-index: -2; + border-radius: var(--border-radius); + background-size: 200% 100%; + animation: wave var(--animation-duration) linear infinite; + opacity: 0; + transition: opacity var(--transition-duration) ease; +} + +.service-card:hover::before { + opacity: 1; +} + +@keyframes wave { + 0% { background-position: 100% 0; } + 100% { background-position: -100% 0; } +} + +.service-card::after { + content: ''; + position: absolute; + inset: var(--border-width); + background: var(--color-background-primary); + border-radius: var(--border-radius-sm); + z-index: -1; + transition: background-color var(--transition-duration) ease; +} + +.service-card:hover::after { + background: var(--color-background-hover); +} + +.service-card:hover { + border-color: transparent; +} + +/*================================== + BOOKMARK +==================================*/ +.flex.flex-col.mt-3.bookmark-list { + border: var(--border-width) solid var(--color-border); + border-radius: var(--border-radius); + padding: var(--spacing-md) var(--spacing-sm) 0 var(--spacing-sm); + margin-bottom: var(--spacing-sm); +} + +.bookmark-icon { + background-color: var(--color-bookmark-icon) !important; +} + +/*================================== + TEXT +==================================*/ +.text-sm { + white-space: pre-line; + text-align: center; + font-size: 1em; +} + +[data-name^="_hidden"] .service-title, +.bookmark-group .bookmark-group-name { + display: none; +} + +/*================================== + FOOTER +==================================*/ +#footer { + display: none; +} \ No newline at end of file diff --git a/configs/custom.js b/configs/custom.js new file mode 100755 index 0000000..9915c25 --- /dev/null +++ b/configs/custom.js @@ -0,0 +1,3 @@ +document.addEventListener("DOMContentLoaded", () => { + document.title = "KALLILAB CORE"; +}); \ No newline at end of file diff --git a/configs/docker.yaml b/configs/docker.yaml new file mode 100755 index 0000000..5cedc39 --- /dev/null +++ b/configs/docker.yaml @@ -0,0 +1,2 @@ +my-docker: + socket: /var/run/docker.sock \ No newline at end of file diff --git a/configs/homepage/bookmarks.yaml b/configs/homepage/bookmarks.yaml new file mode 100755 index 0000000..d31cc80 --- /dev/null +++ b/configs/homepage/bookmarks.yaml @@ -0,0 +1,35 @@ +- Unraid: + - Dashboard: + - icon: unraid.png + href: http://YOUR_NAS_IP/Dashboard + abbr: UI + - Docker: + - icon: sh-docker + href: http://YOUR_NAS_IP/Docker + abbr: DK + - Shares: + - icon: files.png + href: http://YOUR_NAS_IP/Shares + abbr: FS + - Scripts: + - icon: sh-bash + href: http://YOUR_NAS_IP/Settings/Userscripts + abbr: SH + +- Quick Access: + - Pi-hole: + - icon: pi-hole.png + href: http://YOUR_NAS_IP:8053/admin + abbr: PI + - Tailscale: + - icon: tailscale.png + href: https://login.tailscale.com/admin + abbr: TS + - Router: + - icon: sh-router + href: http://YOUR_ROUTER_IP + abbr: RT + - Netdata: + - icon: netdata.png + href: http://YOUR_NAS_IP:19999 + abbr: ND \ No newline at end of file diff --git a/configs/homepage/config/images/kalilab_background.png b/configs/homepage/config/images/kalilab_background.png new file mode 100644 index 0000000..d834e6c Binary files /dev/null and b/configs/homepage/config/images/kalilab_background.png differ diff --git a/configs/homepage/config/images/kalilab_logo_transparent.png b/configs/homepage/config/images/kalilab_logo_transparent.png new file mode 100644 index 0000000..ad63218 Binary files /dev/null and b/configs/homepage/config/images/kalilab_logo_transparent.png differ diff --git a/configs/homepage/config/public/images/kalilab_background.png b/configs/homepage/config/public/images/kalilab_background.png new file mode 100644 index 0000000..d834e6c Binary files /dev/null and b/configs/homepage/config/public/images/kalilab_background.png differ diff --git a/configs/homepage/config/public/images/kalilab_logo_transparent.png b/configs/homepage/config/public/images/kalilab_logo_transparent.png new file mode 100644 index 0000000..ad63218 Binary files /dev/null and b/configs/homepage/config/public/images/kalilab_logo_transparent.png differ diff --git a/configs/homepage/custom.css b/configs/homepage/custom.css new file mode 100755 index 0000000..06a95be --- /dev/null +++ b/configs/homepage/custom.css @@ -0,0 +1,214 @@ +/*================================== + FONT SETTINGS +==================================*/ +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&family=Merriweather:wght@400;700&display=swap'); + +/*================================== + ROOT VARIABLES +==================================*/ +:root { + --font-primary: 'Poppins', sans-serif; + --font-secondary: 'Merriweather', serif; + + --color-border: #4d4e5e; + --color-tab-border: #4a4a54; + --color-tab-hover: #AC2747; + --color-background-primary: #11141d; + --color-background-hover: #08081c; + --color-block: #222432; + --color-block-hover: #2d2d4a; + --color-bookmark-icon: #1f233c; + + --gradient-border: linear-gradient(90deg, #F75050, #6C033D, #F75050); + + --spacing-xs: 5px; + --spacing-sm: 8px; + --spacing-md: 10px; + --spacing-lg: 30px; + --spacing-xl: 40px; + + --border-width: 2px; + --border-radius: .375rem; + --border-radius-sm: .275rem; + + --animation-duration: 3s; + --transition-duration: 0.3s; + + --logo-size: 66px; + + --tab-border-width: 2px; + --tab-border-radius: .375rem; + --tab-backdrop-filter: blur(1px); + + /* 👇 Abstand zwischen Kacheln (verdoppelt) */ + --card-gap: 4px; +} + +/*================================== + GLOBAL FONT +==================================*/ +* { + font-family: var(--font-primary) !important; +} + +/*================================== + TAB STYLES +==================================*/ +#myTab { + padding: var(--spacing-xs); + background: none; + backdrop-filter: none; + display: flex; + justify-content: flex-start; + gap: var(--spacing-xl); +} + +button[id$='-tab'] { + border-width: var(--tab-border-width); + border-radius: var(--tab-border-radius); + border-color: var(--color-tab-border); + backdrop-filter: var(--tab-backdrop-filter); + padding: 1px; + margin: 1px; + border-spacing: 0; + transition: border-color var(--transition-duration) ease; +} + +button[id$='-tab']:hover { + border-color: var(--color-tab-hover); +} + +/*================================== + HEADER +==================================*/ +.information-widget-logo + .information-widget-greeting span { + font-family: var(--font-secondary) !important; + font-weight: 700 !important; +} + +.information-widget-logo img { + width: var(--logo-size) !important; + height: var(--logo-size) !important; + max-width: none; + max-height: none; + margin-left: var(--spacing-lg); +} + +/*================================== + SERVICE CARD +==================================*/ +.service-card { + position: relative; + padding: 0; + margin: 0 !important; + border-radius: var(--border-radius); + background: transparent; + border: var(--border-width) solid var(--color-border); + overflow: visible; +} + +/* Hintergrund */ +.bg-theme-200\/50, +.flex-1.service-block { + background-color: var(--color-block) !important; + transition: background-color var(--transition-duration) ease; +} + +.service-card:hover [class*="bg-theme-200/50"], +.service-card:hover .flex-1.service-block { + background-color: var(--color-block-hover) !important; +} + +/*================================== + KARTEN ABSTAND +==================================*/ + +.services-group ul, +.services-group .flex.flex-col, +.services-group [class*="flex-col"] { + display: flex !important; + flex-direction: column !important; + gap: var(--card-gap) !important; +} + +.services-group li { + margin: 0 !important; +} + +/*================================== + ANIMATED BORDER +==================================*/ +.service-card::before { + content: ''; + position: absolute; + inset: calc(-1 * var(--border-width)); + background: var(--gradient-border); + z-index: -2; + border-radius: var(--border-radius); + background-size: 200% 100%; + animation: wave var(--animation-duration) linear infinite; + opacity: 0; + transition: opacity var(--transition-duration) ease; +} + +.service-card:hover::before { + opacity: 1; +} + +@keyframes wave { + 0% { background-position: 100% 0; } + 100% { background-position: -100% 0; } +} + +.service-card::after { + content: ''; + position: absolute; + inset: var(--border-width); + background: var(--color-background-primary); + border-radius: var(--border-radius-sm); + z-index: -1; + transition: background-color var(--transition-duration) ease; +} + +.service-card:hover::after { + background: var(--color-background-hover); +} + +.service-card:hover { + border-color: transparent; +} + +/*================================== + BOOKMARK +==================================*/ +.flex.flex-col.mt-3.bookmark-list { + border: var(--border-width) solid var(--color-border); + border-radius: var(--border-radius); + padding: var(--spacing-md) var(--spacing-sm) 0 var(--spacing-sm); + margin-bottom: var(--spacing-sm); +} + +.bookmark-icon { + background-color: var(--color-bookmark-icon) !important; +} + +/*================================== + TEXT +==================================*/ +.text-sm { + white-space: pre-line; + text-align: center; + font-size: 1em; +} + +[data-name^="_hidden"] .service-title, +.bookmark-group .bookmark-group-name { + display: none; +} + +/*================================== + FOOTER +==================================*/ +#footer { + display: none; +} \ No newline at end of file diff --git a/configs/homepage/custom.js b/configs/homepage/custom.js new file mode 100755 index 0000000..9915c25 --- /dev/null +++ b/configs/homepage/custom.js @@ -0,0 +1,3 @@ +document.addEventListener("DOMContentLoaded", () => { + document.title = "KALLILAB CORE"; +}); \ No newline at end of file diff --git a/configs/homepage/docker.yaml b/configs/homepage/docker.yaml new file mode 100755 index 0000000..5cedc39 --- /dev/null +++ b/configs/homepage/docker.yaml @@ -0,0 +1,2 @@ +my-docker: + socket: /var/run/docker.sock \ No newline at end of file diff --git a/configs/homepage/kubernetes.yaml b/configs/homepage/kubernetes.yaml new file mode 100755 index 0000000..aca6e82 --- /dev/null +++ b/configs/homepage/kubernetes.yaml @@ -0,0 +1,2 @@ +--- +# sample kubernetes config diff --git a/configs/homepage/proxmox.yaml b/configs/homepage/proxmox.yaml new file mode 100755 index 0000000..90aacd7 --- /dev/null +++ b/configs/homepage/proxmox.yaml @@ -0,0 +1,5 @@ +--- +# pve: +# url: https://proxmox.host.or.ip:8006 +# token: username@pam!Token ID +# secret: secret diff --git a/configs/homepage/services.yaml b/configs/homepage/services.yaml new file mode 100755 index 0000000..864045c --- /dev/null +++ b/configs/homepage/services.yaml @@ -0,0 +1,273 @@ +- Monitoring: + - Netdata: + icon: netdata.png + href: http://192.168.178.58:19999 + description: Real-time system metrics + siteMonitor: http://192.168.178.58:19999 + widget: + type: netdata + url: http://192.168.178.58:19999 + + - Dashdot: + icon: dashdot.png + href: http://192.168.178.58:3002 + description: CPU, RAM, storage vitals + siteMonitor: http://192.168.178.58:3002 + + - Glances: + icon: glances.png + href: http://192.168.178.58:61208 + description: Processes, temps, filesystems + siteMonitor: http://192.168.178.58:61208 + widget: + type: glances + url: http://192.168.178.58:61208 + version: 3 + metric: cpu + + - Scrutiny: + icon: scrutiny.png + href: http://192.168.178.58:8080 + description: S.M.A.R.T. disk health + siteMonitor: http://192.168.178.58:8080 + widget: + type: scrutiny + url: http://192.168.178.58:8080 + fields: + - passed + - failed + - unknown + + - Uptime Kuma: + icon: uptime-kuma.png + href: http://192.168.178.58:3001 + description: Service uptime monitoring + siteMonitor: http://192.168.178.58:3001 + widget: + type: uptimekuma + url: http://192.168.178.58:3001 + slug: homelab + key: uk1_ITsgGkyd_fIWRUjkZ5V2QZI5Pd6N_rsCrvLeQ5mJ + + - Dozzle: + icon: dozzle.png + href: http://192.168.178.58:9888 + description: Docker log viewer + siteMonitor: http://192.168.178.58:9888 + + - Portainer: + icon: portainer.png + href: "#" + description: Planned container management + +- Network: + - Pi-hole: + icon: pi-hole.png + href: http://192.168.178.58:8155/admin + description: DNS ad blocking + siteMonitor: http://192.168.178.58:8155/admin + widget: + type: pihole + url: http://192.168.178.58:8155 + version: 6 + key: Mt51tXnQyvlgr/X8cHN1NUPvOQr2hK8e2b7YMRzj8ZA= + fields: + - queries + - blocked + - gravity + + - ntopng: + icon: ntopng.png + href: http://192.168.178.58:3000 + description: Network traffic & packet inspection + siteMonitor: http://192.168.178.58:3000 + + - Unbound: + icon: unbound.png + href: "#" + description: Recursive DNS resolver + + - Tailscale: + icon: tailscale.png + href: https://login.tailscale.com/admin/machines + description: WireGuard mesh VPN + + - Speedtest: + icon: speedtest-tracker.png + href: "#" + description: Planned speed test dashboard + +- Media: + - Immich: + icon: immich.png + href: http://192.168.178.58:2283 + description: Photo & video backup + siteMonitor: http://192.168.178.58:2283 + server: my-docker + container: immich_server + widget: + type: immich + url: http://192.168.178.58:2283 + key: lwdSPVbmNyfd3SOOvNMVmSEyWd9YaZXnaoS2irPCs5A + version: 2 + fields: + - photos + - videos + - storage + + - Plex Media Server: + icon: plex.png + href: http://192.168.178.58:32400/web + description: Movies, TV, music + siteMonitor: http://192.168.178.58:32400 + widget: + type: plex + url: http://192.168.178.58:32400 + key: DEIN_PLEX_TOKEN + fields: + - streams + - movies + - tv + + - Stash: + icon: stash.png + href: http://192.168.178.58:9696 + description: Video library manager + siteMonitor: http://192.168.178.58:9696 + + - Jellyfin: + icon: jellyfin.png + href: "#" + description: Planned media server + +- Private: + - Paperless: + icon: paperless-ngx.png + href: "#" + description: Planned document management + + - Firefly: + icon: firefly-iii.png + href: "#" + description: Planned finance app + + - Mealie: + icon: mealie.png + href: "#" + description: Planned recipe manager + + - Stirling PDF: + icon: stirling-pdf.png + href: "#" + description: Planned PDF toolkit + +- Tools & Dev: + - code-server: + icon: code-server.png + href: https://192.168.178.58:7258 + description: VS Code in the browser + siteMonitor: https://192.168.178.58:7258 + + - Homepage: + icon: homepage.png + href: http://192.168.178.58:3000 + description: Main dashboard + siteMonitor: http://192.168.178.58:3000 + server: my-docker + container: homepage + + - Homarr: + icon: homarr.png + href: http://192.168.178.58:10004 + description: Visual app launcher dashboard + siteMonitor: http://192.168.178.58:10004 + + - Theme-Park: + icon: theme-park.png + href: http://192.168.178.58:8009 + description: CSS themes for self-hosted apps + siteMonitor: http://192.168.178.58:8009 + +- Backup & Archive: + - LuckyBackup: + icon: mdi-backup-restore + href: http://192.168.178.58:7675 + description: Rsync backup scheduler + siteMonitor: http://192.168.178.58:7675 + + - Mail-Archiver: + icon: mdi-email-outline + href: http://192.168.178.58:5000 + description: IMAP email archiver + siteMonitor: http://192.168.178.58:5000 + + - Nextcloud: + icon: nextcloud.png + href: "#" + description: Planned cloud storage + +- Infrastruktur: + - PostgreSQL17: + icon: postgres.png + href: "#" + description: Shared SQL database + server: my-docker + container: postgresql17 + + - Redis: + icon: redis.png + href: "#" + description: In-memory cache & broker + server: my-docker + container: Redis + +- Security: + - Vaultwarden: + icon: vaultwarden.png + href: https://192.168.178.58:4743 + description: Self-hosted password manager + siteMonitor: https://192.168.178.58:4743 + server: my-docker + container: vaultwarden + +- Unraid: + - Dashboard: + icon: unraid.png + href: http://192.168.178.58 + description: Unraid dashboard + + - Docker: + icon: docker.png + href: http://192.168.178.58/Docker + description: Docker overview + + - Shares: + icon: mdi-folder-network + href: http://192.168.178.58/Shares + description: Share management + + - Scripts: + icon: mdi-script-text + href: http://192.168.178.58/Settings/UserScripts + description: User Scripts + +- Quick Access: + - Pi-Hole: + icon: pi-hole.png + href: http://192.168.178.59/admin + description: Quick access + + - Tailscale: + icon: tailscale.png + href: https://login.tailscale.com/admin/machines + description: Quick access + + - Router: + icon: mdi-router-wireless + href: http://192.168.178.1 + description: Router + + - Netdata: + icon: netdata.png + href: http://192.168.178.58:19999 + description: Quick access \ No newline at end of file diff --git a/configs/homepage/services.yaml.save b/configs/homepage/services.yaml.save new file mode 100755 index 0000000..437692b --- /dev/null +++ b/configs/homepage/services.yaml.save @@ -0,0 +1,35 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/services/ + +- My First Group: + - My First Service: + href: http://localhost/ + description: Homepage is awesome + +- My Second Group: + - My Second Service: + href: http://localhost/ + description: Homepage is the best + +- My Third Group: + - My Third Service: + href: http://localhost/ + description: Homepage is 😎 +- Monitoring: + - Scrutiny: + href: http://kallilabcore:8080 + icon: scrutiny + + - Uptime Kuma: + href: http://kallilabcore:3001 + icon: uptime-kuma + + - Dozzle: + href: http://kallilabcore:9888 + icon: docker + + - Glances: + href: http://kallilabcore:61208 + icon: cpu + diff --git a/configs/homepage/settings.yaml b/configs/homepage/settings.yaml new file mode 100755 index 0000000..c94b8f2 --- /dev/null +++ b/configs/homepage/settings.yaml @@ -0,0 +1,28 @@ +title: KALLILAB CORE +theme: dark +color: zinc + +headerStyle: clean +statusStyle: dot +hideVersion: false +useEqualHeights: true + +fullWidth: false +maxGroupColumns: 4 + +layout: + Monitoring: + Network: + Media: + Private: + Tools & Dev: + Backup & Archive: + Infrastruktur: + Security: + Unraid: + Quick Access: + +quicklaunch: + searchDescriptions: true + hideInternetSearch: false + showSearchSuggestions: true \ No newline at end of file diff --git a/configs/homepage/widgets.yaml b/configs/homepage/widgets.yaml new file mode 100755 index 0000000..580cf0d --- /dev/null +++ b/configs/homepage/widgets.yaml @@ -0,0 +1,16 @@ +- resources: + cpu: true + memory: true + disk: / + uptime: true + +- datetime: + text_size: xl + format: + dateStyle: long + timeStyle: short + hour12: false + +- search: + provider: google + target: _blank \ No newline at end of file diff --git a/configs/kubernetes.yaml b/configs/kubernetes.yaml new file mode 100755 index 0000000..aca6e82 --- /dev/null +++ b/configs/kubernetes.yaml @@ -0,0 +1,2 @@ +--- +# sample kubernetes config diff --git a/configs/proxmox.yaml b/configs/proxmox.yaml new file mode 100755 index 0000000..90aacd7 --- /dev/null +++ b/configs/proxmox.yaml @@ -0,0 +1,5 @@ +--- +# pve: +# url: https://proxmox.host.or.ip:8006 +# token: username@pam!Token ID +# secret: secret diff --git a/configs/services.yaml b/configs/services.yaml new file mode 100755 index 0000000..864045c --- /dev/null +++ b/configs/services.yaml @@ -0,0 +1,273 @@ +- Monitoring: + - Netdata: + icon: netdata.png + href: http://192.168.178.58:19999 + description: Real-time system metrics + siteMonitor: http://192.168.178.58:19999 + widget: + type: netdata + url: http://192.168.178.58:19999 + + - Dashdot: + icon: dashdot.png + href: http://192.168.178.58:3002 + description: CPU, RAM, storage vitals + siteMonitor: http://192.168.178.58:3002 + + - Glances: + icon: glances.png + href: http://192.168.178.58:61208 + description: Processes, temps, filesystems + siteMonitor: http://192.168.178.58:61208 + widget: + type: glances + url: http://192.168.178.58:61208 + version: 3 + metric: cpu + + - Scrutiny: + icon: scrutiny.png + href: http://192.168.178.58:8080 + description: S.M.A.R.T. disk health + siteMonitor: http://192.168.178.58:8080 + widget: + type: scrutiny + url: http://192.168.178.58:8080 + fields: + - passed + - failed + - unknown + + - Uptime Kuma: + icon: uptime-kuma.png + href: http://192.168.178.58:3001 + description: Service uptime monitoring + siteMonitor: http://192.168.178.58:3001 + widget: + type: uptimekuma + url: http://192.168.178.58:3001 + slug: homelab + key: uk1_ITsgGkyd_fIWRUjkZ5V2QZI5Pd6N_rsCrvLeQ5mJ + + - Dozzle: + icon: dozzle.png + href: http://192.168.178.58:9888 + description: Docker log viewer + siteMonitor: http://192.168.178.58:9888 + + - Portainer: + icon: portainer.png + href: "#" + description: Planned container management + +- Network: + - Pi-hole: + icon: pi-hole.png + href: http://192.168.178.58:8155/admin + description: DNS ad blocking + siteMonitor: http://192.168.178.58:8155/admin + widget: + type: pihole + url: http://192.168.178.58:8155 + version: 6 + key: Mt51tXnQyvlgr/X8cHN1NUPvOQr2hK8e2b7YMRzj8ZA= + fields: + - queries + - blocked + - gravity + + - ntopng: + icon: ntopng.png + href: http://192.168.178.58:3000 + description: Network traffic & packet inspection + siteMonitor: http://192.168.178.58:3000 + + - Unbound: + icon: unbound.png + href: "#" + description: Recursive DNS resolver + + - Tailscale: + icon: tailscale.png + href: https://login.tailscale.com/admin/machines + description: WireGuard mesh VPN + + - Speedtest: + icon: speedtest-tracker.png + href: "#" + description: Planned speed test dashboard + +- Media: + - Immich: + icon: immich.png + href: http://192.168.178.58:2283 + description: Photo & video backup + siteMonitor: http://192.168.178.58:2283 + server: my-docker + container: immich_server + widget: + type: immich + url: http://192.168.178.58:2283 + key: lwdSPVbmNyfd3SOOvNMVmSEyWd9YaZXnaoS2irPCs5A + version: 2 + fields: + - photos + - videos + - storage + + - Plex Media Server: + icon: plex.png + href: http://192.168.178.58:32400/web + description: Movies, TV, music + siteMonitor: http://192.168.178.58:32400 + widget: + type: plex + url: http://192.168.178.58:32400 + key: DEIN_PLEX_TOKEN + fields: + - streams + - movies + - tv + + - Stash: + icon: stash.png + href: http://192.168.178.58:9696 + description: Video library manager + siteMonitor: http://192.168.178.58:9696 + + - Jellyfin: + icon: jellyfin.png + href: "#" + description: Planned media server + +- Private: + - Paperless: + icon: paperless-ngx.png + href: "#" + description: Planned document management + + - Firefly: + icon: firefly-iii.png + href: "#" + description: Planned finance app + + - Mealie: + icon: mealie.png + href: "#" + description: Planned recipe manager + + - Stirling PDF: + icon: stirling-pdf.png + href: "#" + description: Planned PDF toolkit + +- Tools & Dev: + - code-server: + icon: code-server.png + href: https://192.168.178.58:7258 + description: VS Code in the browser + siteMonitor: https://192.168.178.58:7258 + + - Homepage: + icon: homepage.png + href: http://192.168.178.58:3000 + description: Main dashboard + siteMonitor: http://192.168.178.58:3000 + server: my-docker + container: homepage + + - Homarr: + icon: homarr.png + href: http://192.168.178.58:10004 + description: Visual app launcher dashboard + siteMonitor: http://192.168.178.58:10004 + + - Theme-Park: + icon: theme-park.png + href: http://192.168.178.58:8009 + description: CSS themes for self-hosted apps + siteMonitor: http://192.168.178.58:8009 + +- Backup & Archive: + - LuckyBackup: + icon: mdi-backup-restore + href: http://192.168.178.58:7675 + description: Rsync backup scheduler + siteMonitor: http://192.168.178.58:7675 + + - Mail-Archiver: + icon: mdi-email-outline + href: http://192.168.178.58:5000 + description: IMAP email archiver + siteMonitor: http://192.168.178.58:5000 + + - Nextcloud: + icon: nextcloud.png + href: "#" + description: Planned cloud storage + +- Infrastruktur: + - PostgreSQL17: + icon: postgres.png + href: "#" + description: Shared SQL database + server: my-docker + container: postgresql17 + + - Redis: + icon: redis.png + href: "#" + description: In-memory cache & broker + server: my-docker + container: Redis + +- Security: + - Vaultwarden: + icon: vaultwarden.png + href: https://192.168.178.58:4743 + description: Self-hosted password manager + siteMonitor: https://192.168.178.58:4743 + server: my-docker + container: vaultwarden + +- Unraid: + - Dashboard: + icon: unraid.png + href: http://192.168.178.58 + description: Unraid dashboard + + - Docker: + icon: docker.png + href: http://192.168.178.58/Docker + description: Docker overview + + - Shares: + icon: mdi-folder-network + href: http://192.168.178.58/Shares + description: Share management + + - Scripts: + icon: mdi-script-text + href: http://192.168.178.58/Settings/UserScripts + description: User Scripts + +- Quick Access: + - Pi-Hole: + icon: pi-hole.png + href: http://192.168.178.59/admin + description: Quick access + + - Tailscale: + icon: tailscale.png + href: https://login.tailscale.com/admin/machines + description: Quick access + + - Router: + icon: mdi-router-wireless + href: http://192.168.178.1 + description: Router + + - Netdata: + icon: netdata.png + href: http://192.168.178.58:19999 + description: Quick access \ No newline at end of file diff --git a/configs/services.yaml.save b/configs/services.yaml.save new file mode 100755 index 0000000..437692b --- /dev/null +++ b/configs/services.yaml.save @@ -0,0 +1,35 @@ +--- +# For configuration options and examples, please see: +# https://gethomepage.dev/configs/services/ + +- My First Group: + - My First Service: + href: http://localhost/ + description: Homepage is awesome + +- My Second Group: + - My Second Service: + href: http://localhost/ + description: Homepage is the best + +- My Third Group: + - My Third Service: + href: http://localhost/ + description: Homepage is 😎 +- Monitoring: + - Scrutiny: + href: http://kallilabcore:8080 + icon: scrutiny + + - Uptime Kuma: + href: http://kallilabcore:3001 + icon: uptime-kuma + + - Dozzle: + href: http://kallilabcore:9888 + icon: docker + + - Glances: + href: http://kallilabcore:61208 + icon: cpu + diff --git a/configs/settings.yaml b/configs/settings.yaml new file mode 100755 index 0000000..c94b8f2 --- /dev/null +++ b/configs/settings.yaml @@ -0,0 +1,28 @@ +title: KALLILAB CORE +theme: dark +color: zinc + +headerStyle: clean +statusStyle: dot +hideVersion: false +useEqualHeights: true + +fullWidth: false +maxGroupColumns: 4 + +layout: + Monitoring: + Network: + Media: + Private: + Tools & Dev: + Backup & Archive: + Infrastruktur: + Security: + Unraid: + Quick Access: + +quicklaunch: + searchDescriptions: true + hideInternetSearch: false + showSearchSuggestions: true \ No newline at end of file diff --git a/configs/widgets.yaml b/configs/widgets.yaml new file mode 100755 index 0000000..580cf0d --- /dev/null +++ b/configs/widgets.yaml @@ -0,0 +1,16 @@ +- resources: + cpu: true + memory: true + disk: / + uptime: true + +- datetime: + text_size: xl + format: + dateStyle: long + timeStyle: short + hour12: false + +- search: + provider: google + target: _blank \ No newline at end of file