From 38be6c13f76e893cf47636257071b440dec0c5b2 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sun, 7 Sep 2025 17:32:13 +0200 Subject: initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- bundles/glance/files/config.yml | 133 +++++++++++ bundles/glance/files/glance.run | 4 + bundles/glance/files/hex.png | Bin 0 -> 128583 bytes bundles/glance/files/hex.svg | 411 ++++++++++++++++++++++++++++++++ bundles/glance/files/home-assistant.svg | 4 + bundles/glance/files/immich.svg | 29 +++ bundles/glance/files/jellyfin.svg | 24 ++ bundles/glance/files/miniflux.svg | 1 + bundles/glance/files/paperless.svg | 82 +++++++ bundles/glance/files/traefik.yaml | 18 ++ bundles/glance/files/vaultwarden.svg | 74 ++++++ bundles/glance/items.py | 42 ++++ bundles/glance/metadata.py | 6 + 13 files changed, 828 insertions(+) create mode 100644 bundles/glance/files/config.yml create mode 100755 bundles/glance/files/glance.run create mode 100644 bundles/glance/files/hex.png create mode 100644 bundles/glance/files/hex.svg create mode 100644 bundles/glance/files/home-assistant.svg create mode 100644 bundles/glance/files/immich.svg create mode 100644 bundles/glance/files/jellyfin.svg create mode 100644 bundles/glance/files/miniflux.svg create mode 100644 bundles/glance/files/paperless.svg create mode 100644 bundles/glance/files/traefik.yaml create mode 100644 bundles/glance/files/vaultwarden.svg create mode 100644 bundles/glance/items.py create mode 100644 bundles/glance/metadata.py (limited to 'bundles/glance') diff --git a/bundles/glance/files/config.yml b/bundles/glance/files/config.yml new file mode 100644 index 0000000..eda57c4 --- /dev/null +++ b/bundles/glance/files/config.yml @@ -0,0 +1,133 @@ +server: + host: 0.0.0.0 + port: ${node.metadata.get("glance/port")} + assets-path: /var/lib/glance/assets/ + +branding: + custom-footer: " " + logo-url: /assets/hex.svg + favicon-url: /assets/hex.png + +theme: # kanagawa dark + background-color: 240 13 14 + primary-color: 51 33 68 + negative-color: 358 100 68 + contrast-multiplier: 1.2 + +pages: + - name: Home + columns: + - size: small + widgets: + - type: calendar + + - type: html + source: | +
+ TODO: miniflux widget +
+ + - size: full + widgets: + - type: search + search-engine: duckduckgo + + - type: monitor + cache: 1m + title: Services + sites: + - title: Jellyfin + url: https://tv.gzr.im + icon: /assets/jellyfin.svg + - title: Vaultwarden + url: https://vault.gzr.im + icon: /assets/vaultwarden.svg + - title: Miniflux + url: https://rss.gzr.im + icon: /assets/miniflux.svg + - title: Paperless + url: https://paper.gzr.im + icon: /assets/paperless.svg + - title: Immich + url: https://photos.gzr.im + icon: /assets/immich.svg + - title: Home Assistant + url: http://home.gzr.im + icon: /assets/home-assistant.svg + + - type: bookmarks + groups: + - links: + - title: Gmail + url: https://mail.google.com/mail/u/0/ + - title: Amazon + url: https://www.amazon.com/ + - title: Github + url: https://github.com/ + - title: Wikipedia + url: https://en.wikipedia.org/ + - title: Entertainment + color: 10 70 50 + links: + - title: Netflix + url: https://www.netflix.com/ + - title: Disney+ + url: https://www.disneyplus.com/ + - title: YouTube + url: https://www.youtube.com/ + - title: Prime Video + url: https://www.primevideo.com/ + - title: Social + color: 200 50 50 + links: + - title: Reddit + url: https://www.reddit.com/ + - title: Twitter + url: https://twitter.com/ + - title: Instagram + url: https://www.instagram.com/ + + - size: small + widgets: + - type: clock + hour-format: 24h + timezones: + - timezone: UTC + label: UTC + - timezone: Europe/Berlin + label: Berlin + - timezone: Europe/Istanbul + label: Istanbul + + - type: weather + location: Berlin, Germany + + - type: markets + markets: + - symbol: OTLY + name: Oatly + + - name: News + columns: + - size: small + widgets: + - type: hacker-news + + - type: reddit + subreddit: selfhosted + + - size: full + widgets: + - type: rss + limit: 10 + collapse-after: 3 + cache: 3h + feeds: + - url: https://ciechanow.ski/atom.xml + - url: https://www.joshwcomeau.com/rss.xml + title: Josh Comeau + - url: https://samwho.dev/rss.xml + - url: https://awesomekling.github.io/feed.xml + - url: https://ishadeed.com/feed.xml + title: Ahmad Shadeed + diff --git a/bundles/glance/files/glance.run b/bundles/glance/files/glance.run new file mode 100755 index 0000000..fda6185 --- /dev/null +++ b/bundles/glance/files/glance.run @@ -0,0 +1,4 @@ +#!/bin/sh +set -eu + +exec /usr/bin/glance -config /var/lib/glance/config.yml diff --git a/bundles/glance/files/hex.png b/bundles/glance/files/hex.png new file mode 100644 index 0000000..182e36a Binary files /dev/null and b/bundles/glance/files/hex.png differ diff --git a/bundles/glance/files/hex.svg b/bundles/glance/files/hex.svg new file mode 100644 index 0000000..341407d --- /dev/null +++ b/bundles/glance/files/hex.svg @@ -0,0 +1,411 @@ + + + + + + diff --git a/bundles/glance/files/home-assistant.svg b/bundles/glance/files/home-assistant.svg new file mode 100644 index 0000000..7bce628 --- /dev/null +++ b/bundles/glance/files/home-assistant.svg @@ -0,0 +1,4 @@ + + + + diff --git a/bundles/glance/files/immich.svg b/bundles/glance/files/immich.svg new file mode 100644 index 0000000..376fa6f --- /dev/null +++ b/bundles/glance/files/immich.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/bundles/glance/files/jellyfin.svg b/bundles/glance/files/jellyfin.svg new file mode 100644 index 0000000..d4d7f01 --- /dev/null +++ b/bundles/glance/files/jellyfin.svg @@ -0,0 +1,24 @@ + + + + + + + + + + icon-transparent + + + + + diff --git a/bundles/glance/files/miniflux.svg b/bundles/glance/files/miniflux.svg new file mode 100644 index 0000000..33ae73a --- /dev/null +++ b/bundles/glance/files/miniflux.svg @@ -0,0 +1 @@ +icon \ No newline at end of file diff --git a/bundles/glance/files/paperless.svg b/bundles/glance/files/paperless.svg new file mode 100644 index 0000000..3144ae9 --- /dev/null +++ b/bundles/glance/files/paperless.svg @@ -0,0 +1,82 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/bundles/glance/files/traefik.yaml b/bundles/glance/files/traefik.yaml new file mode 100644 index 0000000..1f248a7 --- /dev/null +++ b/bundles/glance/files/traefik.yaml @@ -0,0 +1,18 @@ +http: + services: + glance: + loadBalancer: + servers: + - url: http://${node.metadata.get("container_gateway", "10.89.0.1")}:${node.metadata.get("glance/port")} + + routers: + glance: + rule: Host(`1.gzr.im`) + entryPoints: + - http + - https + service: glance + middlewares: + - tls-redirect@file + tls: + certResolver: le diff --git a/bundles/glance/files/vaultwarden.svg b/bundles/glance/files/vaultwarden.svg new file mode 100644 index 0000000..91abbd6 --- /dev/null +++ b/bundles/glance/files/vaultwarden.svg @@ -0,0 +1,74 @@ + + + + + Vaultwarden Icon + + + + + Vaultwarden Icon + + + Mathijs van Veluw + + + Rust Logo + + + + diff --git a/bundles/glance/items.py b/bundles/glance/items.py new file mode 100644 index 0000000..3db77c6 --- /dev/null +++ b/bundles/glance/items.py @@ -0,0 +1,42 @@ + +local_deploy = { + "/usr/bin/glance": { + "command": "env CGO_ENABLED=0 go build -o glance main.go", + "cwd": "/home/robert/src/glance", + "artifact": "glance", + "content_hash": "335fc3b7868f3610dbe8397021501c465ee2627c", + }, +} + +files = { + "/etc/service/glance.run": { + "mode": "0755", + "triggers": {"svc_s6rc:glance:restart"}, + }, + "/etc/traefik/glance.yaml": { + "content_type": "mako", + "source": "traefik.yaml", + "needs": {"bundle:traefik"}, + }, + "/var/lib/glance/config.yml": { + "content_type": "mako", + "triggers": {"svc_s6rc:glance:restart"}, + }, + + # assets + "/var/lib/glance/assets/home-assistant.svg": {}, + "/var/lib/glance/assets/immich.svg": {}, + "/var/lib/glance/assets/jellyfin.svg": {}, + "/var/lib/glance/assets/miniflux.svg": {}, + "/var/lib/glance/assets/paperless.svg": {}, + "/var/lib/glance/assets/vaultwarden.svg": {}, + "/var/lib/glance/assets/hex.svg": {}, + "/var/lib/glance/assets/hex.png": {}, +} + +svc_s6rc = { + "glance": { + "bundle": "services", + "generate": "service", + } +} diff --git a/bundles/glance/metadata.py b/bundles/glance/metadata.py new file mode 100644 index 0000000..9b16788 --- /dev/null +++ b/bundles/glance/metadata.py @@ -0,0 +1,6 @@ +defaults = { + "apk": { + "packages": { + }, + }, +} -- cgit 1.4.1