From 5b4d5803c2e53016a5a30c25ded7f86c34e3641d Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Fri, 6 Mar 2026 21:47:43 +0900 Subject: [PATCH] Add Dashy configuration file and update deployment to use ConfigMap --- config/dashy/conf.yml | 187 ++++++++++++++++++++++++++++++++++++++++++ manifests/dashy.yaml | 21 ++--- 2 files changed, 195 insertions(+), 13 deletions(-) create mode 100644 config/dashy/conf.yml diff --git a/config/dashy/conf.yml b/config/dashy/conf.yml new file mode 100644 index 0000000..05967f0 --- /dev/null +++ b/config/dashy/conf.yml @@ -0,0 +1,187 @@ +pageInfo: + title: Good morning, Nik + description: How's your day going? +appConfig: + theme: argon + layout: sidebar + iconSize: large + routingMode: history + statusCheck: true + statusCheckInterval: 60 + externalStyleSheet: + - >- + https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap + customCss: | + :root { + --nik-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif; + } + + body, .q-layout, .q-page, .q-item, .q-card, .q-toolbar, .markdown { + font-family: var(--nik-font) !important; + letter-spacing: 0.1px; + } + + /* Softer, more modern cards */ + .q-card { + border-radius: 16px !important; + box-shadow: 0 10px 30px rgba(0,0,0,.25) !important; + backdrop-filter: blur(10px); + } + + /* Sidebar polish */ + .q-drawer { + backdrop-filter: blur(12px); + } + + /* Item tiles feel less “boxed” */ + .item { + border-radius: 14px !important; + } +sections: + - name: At a Glance + icon: mdi-home-variant-outline + widgets: + - type: clock + options: + timeZone: Asia/Tokyo + format: ja-JP + hideSeconds: true + id: 0_928_clock + - type: iframe + options: + url: >- + https://calendar.google.com/calendar/embed?bgcolor=%23000000&height=600&wkst=1&ctz=Asia%2FTokyo&showPrint=0&showCalendars=0&showTitle=0&showTz=0&src=bnl4YWZpcUBnbWFpbC5jb20&src=Y281dTVpOTVubmg4am10bXVlY2hpMW1nMTBqNmVia2pAaW1wb3J0LmNhbGVuZGFyLmdvb2dsZS5jb20&src=ZW4uamFwYW5lc2UjaG9saWRheUBncm91cC52LmNhbGVuZGFyLmdvb2dsZS5jb20&src=Y3NuYzhlYjVyczYxcmk0MG1zZGRnZHU5dTd2c3E2cGRAaW1wb3J0LmNhbGVuZGFyLmdvb2dsZS5jb20&src=bTFtZHA2Y3Q4N2poMDdxdnRiamFuM3NkOTloZXRlZnBAaW1wb3J0LmNhbGVuZGFyLmdvb2dsZS5jb20&color=%237986cb&color=%233f51b5&color=%230b8043&color=%233f51b5&color=%23f6bf26 + frameHeight: 600 + frameWidth: 800 + id: 1_928_iframe + - type: weather + options: + apiKey: 770d36389dd547e8e3daccb39debde64 + city: Tokyo, JP + units: metric + hideDetails: false + id: 2_928_weather + - type: weather-forecast + options: + apiKey: 770d36389dd547e8e3daccb39debde64 + city: Tokyo, JP + numDays: 5 + units: metric + hideDetails: true + id: 3_928_weatherforecast + displayData: + sortBy: default + rows: 6 + cols: 2 + collapsed: false + hideForGuests: false + - name: System + icon: mdi-server + widgets: + - type: gl-current-cpu + label: CPU (current) + options: + hostname: http://nik4nao.home.arpa:61208 + apiVersion: 4 + id: 0_645_glcurrentcpu + - type: gl-current-mem + label: Memory (current) + options: + hostname: http://nik4nao.home.arpa:61208 + apiVersion: 4 + id: 1_645_glcurrentmem + - type: gl-cpu-history + label: CPU (history) + options: + hostname: http://nik4nao.home.arpa:61208 + apiVersion: 4 + limit: 60 + id: 2_645_glcpuhistory + - type: gl-mem-history + label: Memory (history) + options: + hostname: http://nik4nao.home.arpa:61208 + apiVersion: 4 + limit: 80 + id: 3_645_glmemhistory + displayData: + sortBy: default + rows: 10 + cols: 1 + collapsed: false + hideForGuests: false + - name: Storage + icon: mdi-harddisk + widgets: + - type: gl-disk-space + label: Storage Pool (/mnt/storage) + options: + hostname: http://nik4nao.home.arpa:61208 + apiVersion: 4 + id: 0_725_gldiskspace + displayData: + rows: 1 + cols: 1 + - name: Shortcuts + icon: mdi-bookmark-outline + items: + - title: Facebook + icon: favicon + url: https://www.facebook.com/ + target: newtab + id: 2_975_facebook + - title: X (Twitter) + icon: favicon + url: https://twitter.com/ + target: newtab + id: 1_975_xtwitter + - title: Remote Desktop + icon: favicon + url: https://remotedesktop.google.com/access/ + target: newtab + id: 0_975_remotedesktop + - title: Nyaa + icon: favicon + url: https://nyaa.si/ + target: newtab + id: 3_975_nyaa + - title: YouTube + icon: favicon + url: https://www.youtube.com/ + target: newtab + id: 4_975_youtube + - title: Amazon Japan + icon: favicon + url: https://www.amazon.co.jp/ + target: newtab + id: 5_975_amazonjapan + displayData: + sectionLayout: grid + itemCountX: 2 + itemSize: large + cutToHeight: true + - name: Services + icon: mdi-apps + items: + - title: Jellyfin + icon: si-jellyfin + url: http://nik4nao.home.arpa/anime/ + id: 0_836_jellyfin + - title: qBittorrent + icon: si-qbittorrent + url: http://nik4nao.home.arpa/qbt/ + id: 1_836_qbittorrent + - title: JDownloader + icon: mdi-cloud-download-outline + url: http://nik4nao.home.arpa/jd2/ + id: 2_836_jdownloader + - title: Pi-hole + icon: si-pihole + url: http://nik4nao.home.arpa/admin/ + id: 3_836_pihole + - title: Watch Party + icon: mdi-play-circle-outline + url: http://nik4nao.home.arpa/watch-party/ + id: 4_836_watchparty + displayData: + cutToHeight: true diff --git a/manifests/dashy.yaml b/manifests/dashy.yaml index 839298f..3de154b 100644 --- a/manifests/dashy.yaml +++ b/manifests/dashy.yaml @@ -6,19 +6,13 @@ metadata: name: dashy --- apiVersion: v1 -kind: PersistentVolumeClaim +kind: ConfigMap metadata: name: dashy-config namespace: dashy - annotations: - helm.sh/resource-policy: keep -spec: - accessModes: - - ReadWriteOnce - storageClassName: local-path - resources: - requests: - storage: 256Mi +data: + conf.yml: | + # contents will be replaced by kustomize or kubectl apply --- apiVersion: apps/v1 kind: Deployment @@ -51,11 +45,12 @@ spec: - containerPort: 8080 volumeMounts: - name: config - mountPath: /app/user-data + mountPath: /app/user-data/conf.yml + subPath: conf.yml volumes: - name: config - persistentVolumeClaim: - claimName: dashy-config + configMap: + name: dashy-config --- apiVersion: v1 kind: Service