Skip to content

Commit

Permalink
feat: Trying out homepage
Browse files Browse the repository at this point in the history
  • Loading branch information
szinn committed Apr 6, 2024
1 parent 500047f commit 4e74f5c
Show file tree
Hide file tree
Showing 7 changed files with 541 additions and 0 deletions.
200 changes: 200 additions & 0 deletions kubernetes/main/apps/self-hosted/homepage/app/configuration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: homepage-config
data:
bookmarks.yaml: |
- Communicate:
- Discord:
- icon: discord.png
href: 'https://discord.com/app'
- Gmail:
- icon: gmail.png
href: 'http://gmail.com'
- Google Calendar:
- icon: google-calendar.png
href: 'https://calendar.google.com'
- Outlook:
- icon: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/icons/outlook.png
href: 'https://outlook.com'
- Media Links:
- YouTube:
- icon: youtube.png
href: 'https://youtube.com/feed/subscriptions'
- Spotify:
- icon: spotify.png
href: 'http://open.spotify.com'
- Youtube Music:
- icon: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/icons/youtube-music.png
href: 'https://music.youtube.com'
- Reading:
- Beyond:
- icon: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/icons/beyond.png
href: 'https://forums.beyond.ca/search.php?do=getnew&contenttype=vBForum_Post'
- Western Subaru Club:
- icon: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/icons/wsc.png
href: 'http://westernsubaruclub.com/smf/index.php?action=unread'
- Reddit:
- icon: reddit.png
href: 'https://reddit.com'
- Git:
- kubesearch:
- icon: kubernetes-dashboard.png
href: 'https://kubesearch.dev/'
- home-ops:
- icon: github.png
href: 'https://github.com/joryirving/home-ops'
docker.yaml: ""
kubernetes.yaml: |
mode: cluster
services.yaml: |
- Network:
- Cloudflared:
href: https://dash.cloudflare.com/
icon: cloudflare-zero-trust.png
description: Cloudflared Tunnel Status
widget:
type: cloudflared
accountid: {{HOMEPAGE_VAR_CLOUDFLARED_ACCOUNTID}}
tunnelid: {{HOMEPAGE_VAR_CLOUDFLARED_TUNNELID}}
key: {{HOMEPAGE_VAR_CLOUDFLARED_API_TOKEN}}
fields: ["status"]
- Media:
- Sonarr:
href: https://sonarr.{{HOMEPAGE_VAR_SECRET_DOMAIN_NAME}}
icon: sonarr.png
description: TV Shows
widget:
type: sonarr
url: http://sonarr.media:8989
key: {{HOMEPAGE_VAR_SONARR_TOKEN}}
- Radarr-4k:
href: https://radarr-4k.{{HOMEPAGE_VAR_SECRET_DOMAIN_NAME}}
icon: radarr.png
description: 4K Movies
widget:
type: radarr
url: http://radarr-4k.media:7878
key: {{HOMEPAGE_VAR_RADARR_4K_TOKEN}}
- Radarr:
href: https://radarr.{{HOMEPAGE_VAR_SECRET_DOMAIN_NAME}}
icon: radarr.png
description: Movies
widget:
type: radarr
url: http://radarr.media:7878
key: {{HOMEPAGE_VAR_RADARR_TOKEN}}
- Sabnzbd:
href: https://sabnzbd.{{HOMEPAGE_VAR_SECRET_DOMAIN_NAME}}
icon: sabnzbd.png
description: NZB Downloader
widget:
type: sabnzbd
url: http://sabnzbd.media
key: {{HOMEPAGE_VAR_SABNZBD_TOKEN}}
- Calendar:
- Agenda:
widget:
type: calendar
view: agenda # optional - possible values monthly, agenda
maxEvents: 5 # optional - defaults to 10
integrations: # optional
- type: sonarr # active widget type that is currently enabled on homepage - possible values: radarr, sonarr>
service_group: Media # group name where widget exists
service_name: Sonarr # service name for that widget
- type: radarr # active widget type that is currently enabled on homepage - possible values: radarr, sonarr>
service_group: Media # group name where widget exists
service_name: Radarr # service name for that widget
- type: radarr # active widget type that is currently enabled on homepage - possible values: radarr, sonarr>
service_group: Media # group name where widget exists
service_name: Radarr-4k # service name for that widget
settings.yaml: |
title: Homelab
# background:
# image: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/assets/101518784_p0.jpg
# opacity: 20
favicon: https://github.com/walkxcode/dashboard-icons/blob/main/png/heimdall.png
theme: dark
color: slate
layout:
Calendar:
style: column
icon: mdi-calendar
Network:
style: row
columns: 5
icon: mdi-network
Media:
style: row
columns: 5
icon: mdi-download-circle
Games:
style: row
columns: 2
icon: mdi-minecraft
Video:
style: column
icon: mdi-play-circle
Books:
style: row
columns: 2
icon: mdi-book
Infrastructure:
style: row
columns: 5
icon: mdi-server
Observability:
style: row
columns:
icon: mdi-chart-line
Home:
style: row
columns: 5
icon: mdi-home-analytics
useEqualHeights: true
headerStyle: clean
quicklaunch:
searchDescriptions: true
hideInternetSearch: true
showSearchSuggestions: true
hideVisitURL: true
widgets.yaml: |
# - logo:
# icon: https://raw.githubusercontent.com/joryirving/home-ops/main/.docs/icons/lds-transparent.png
- search:
provider: [google]
focus: false
target: _blank
# - greeting:
# text_size: xl
# text: "Howdy Hey!"
- kubernetes:
cluster:
cpu: true
memory: true
show: true
showLabel: true
nodes:
cpu: true
memory: true
show: false
showLabel: true
- openmeteo:
label: Home
latitude: {{HOMEPAGE_VAR_LATITUDE}}
longitude: {{HOMEPAGE_VAR_LONGITUDE}}
units: metric
cache: 5
- datetime:
text_size: l
format:
timeStyle: short
dateStyle: short
hourCycle: h23
- unifi_console:
url: {{HOMEPAGE_VAR_UNIFI_URL}}
username: {{HOMEPAGE_VAR_UNIFI_USERNAME}}
password: {{HOMEPAGE_VAR_UNIFI_PASSWORD}}
83 changes: 83 additions & 0 deletions kubernetes/main/apps/self-hosted/homepage/app/helm-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: homepage
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.0.4
sourceRef:
kind: HelmRepository
name: bjw-s-charts
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
values:
controllers:
main:
replicas: 1
strategy: RollingUpdate
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/gethomepage/homepage
tag: v0.8.9
env:
TZ: ${CONFIG_TIMEZONE}
envFrom:
- secretRef:
name: homepage-secret
resources:
requests:
cpu: 15m
memory: 200M
limits:
memory: 2G
service:
main:
controller: main
ports:
http:
port: 3000
ingress:
main:
className: internal
hosts:
- host: "{{ .Release.Name }}.${SECRET_DOMAIN_NAME}"
paths:
- path: /
pathType: Prefix
service:
identifier: main
port: http
persistence:
config:
type: configMap
name: homepage-config
globalMounts:
- subPath: bookmarks.yaml
path: /app/config/bookmarks.yaml
- subPath: docker.yaml
path: /app/config/docker.yaml
- subPath: kubernetes.yaml
path: /app/config/kubernetes.yaml
- subPath: services.yaml
path: /app/config/services.yaml
- subPath: settings.yaml
path: /app/config/settings.yaml
- subPath: widgets.yaml
path: /app/config/widgets.yaml
serviceAccount:
create: true
name: homepage
Loading

0 comments on commit 4e74f5c

Please sign in to comment.