# Glance Dashboard for Orsi # Namespace: glance-system # Domain: orsi.dooplex.hu # Version: v0.8.4 # # Features: # - Custom background image (purple theme matching Homepage) # - Custom logo # - Weather widget (Budapest) # - YouTube subscriptions # - RSS feeds # - To-do list # - iFrames for Cal.com, Google Calendar, Outline # - Bookmarks/Links to all apps # - Calendar widget # # Authentik Integration: # 1. Create Application: "Glance Orsi" # 2. Create Provider: Proxy Provider with external host https://orsi.dooplex.hu # 3. Create Outpost: glance-outpost # 4. Update auth-url annotation with actual outpost service name --- apiVersion: v1 kind: Namespace metadata: name: glance-system labels: app.kubernetes.io/name: glance-orsi app.kubernetes.io/instance: glance-orsi --- apiVersion: v1 kind: ConfigMap metadata: name: glance-config namespace: glance-system labels: app.kubernetes.io/name: glance-orsi app.kubernetes.io/instance: glance-orsi data: glance.yml: | # Glance Configuration # Documentation: https://github.com/glanceapp/glance/blob/main/docs/configuration.md server: host: 0.0.0.0 port: 8080 assets-path: /app/config/assets branding: logo-url: https://web.dooplex.hu/static/dooplex_logo_orsi_3.png favicon-url: https://web.dooplex.hu/static/dooplex_favicon_orsi.png app-name: "Orsi's Home" app-icon-url: https://web.dooplex.hu/static/dooplex_favicon_orsi.png app-background-color: "#2d1f3d" hide-footer: true theme: disable-picker: true background-color: 280 30 15 primary-color: 280 60 70 positive-color: 120 50 50 negative-color: 0 70 60 contrast-multiplier: 1.2 text-saturation-multiplier: 0.8 custom-css-file: /assets/custom.css pages: # ==================== HOME PAGE ==================== - name: Home slug: home width: wide columns: # ---------- LEFT COLUMN ---------- - size: small widgets: - type: custom-api title: Meal for the Day cache: 5m url: http://glance-helper.glance-system.svc.cluster.local:8000/tandoor/daily parameters: count: 3 cooldown: 14 options: tandoor_url: https://tandoor.dooplex.hu template: | {{ $tandoor := .Options.StringOr "tandoor_url" "https://tandoor.dooplex.hu" }} {{ $items := .JSON.Array "items" }} {{ $count := len $items }} {{ $last := sub $count 1 }}
Today's picks ({{ $count }} total) Open Tandoor
{{ if lt $count 1 }}
No recipes.
{{ else }}
{{ range $i, $_ := $items }}{{ end }}
{{ range $r := $items }}{{ $img := $r.String "image" }}{{ $url := $r.String "url" }}{{ $cook := $r.String "cook_url" }}{{ $cooked := $r.Int "cooked_count" }}
{{ if $img }}{{ else }}
No image
{{ end }}
{{ $r.String "name" }}
{{ if gt $cooked 0 }}
Cooked {{ $cooked }}× before
{{ end }}
{{ end }}
{{ if gt $count 1 }} {{ range $i, $_ := $items }}{{ if gt $i 0 }}{{ end }}{{ if lt $i $last }}{{ end }}{{ end }}
{{ range $i, $_ := $items }}{{ end }}
{{ end }}
{{ end }}
# Quick Links - Productivity - type: bookmarks title: Productivity groups: - title: "" links: - title: Nextcloud url: https://nextcloud.dooplex.hu icon: si:nextcloud - title: Outline url: https://outline.dooplex.hu icon: si:outline - title: Paperless url: https://paperless.dooplex.hu icon: si:paperlessngx - title: Vaultwarden url: https://vaultwarden.dooplex.hu icon: si:bitwarden - title: Actual Budget url: https://actualbudget.dooplex.hu icon: si:actualbudget - title: Tandoor url: https://tandoor.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/tandoor.png - title: Bookstack url: https://bookstack.dooplex.hu icon: si:bookstack # Quick Links - File Sharing - type: bookmarks title: File Sharing groups: - title: "" links: - title: Fileshare url: https://fileshare.dooplex.hu icon: si:files - title: Privatebin url: https://privatebin.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/privatebin.png - title: Pastes (OpenGist) url: https://paste.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/opengist.png - title: Zipline url: https://zipline.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/zipline.png # ---------- CENTER COLUMN ---------- - size: full widgets: - type: split-column max-columns: 3 widgets: # Weather Widget (Időkép) - type: custom-api title: "Időkép – Budapest VII." url: "http://idokep-scraper.glance-system.svc.cluster.local:8000/api?v=2" cache: 30s template: | {{ $loc := .JSON.String "location.name" }} {{ if eq $loc "" }}{{ $loc = .JSON.String "place" }}{{ end }} {{ $curTemp := .JSON.Float "current.temp_c" }} {{ $curIcon := .JSON.String "current.icon_url" }} {{ $daily := .JSON.Array "daily" }} {{ $hourly := .JSON.Array "hourly" }}
{{ if $curIcon }}{{ end }}
{{ printf "%.0f" $curTemp }}°C
{{ $loc }}
Forrás: Időkép
{{ if gt (len $hourly) 0 }}
{{ range $i, $h := $hourly }}
{{ $h.String "time" }}
{{ if $h.String "icon_url" }}{{ $h.String {{ end }}
{{ printf "%.0f" ($h.Float "temp_c") }}°
{{ end }}
{{ end }} {{ if gt (len $daily) 0 }}
{{ range $daily }}
{{ .String "dow" }} {{ .String "daynum" }}
{{ if .String "icon_url" }}{{ .String {{ end }}
{{ printf "%.0f" (.Float "tmin_c") }}°
{{/* We construct the style manually to bypass Go security sanitization */}}
{{ printf "%.0f" (.Float "tmax_c") }}°
{{ end }}
{{ end }}
# Calendar Widget - type: calendar first-day-of-week: monday # To-Do List - type: to-do title: Tasks # Outline Notes iframe - type: iframe source: https://outline.dooplex.hu/collection/notes-VVby8kTDMn/recent height: 500 title: Recent Notes # ---------- RIGHT COLUMN ---------- - size: small widgets: - type: rss title: News & Feeds limit: 15 collapse-after: 8 feeds: - url: https://telex.hu/rss title: telex.hu limit: 3 - url: https://444.hu/feed title: 444.hu limit: 3 - url: https://444.hu/feed title: 444.hu limit: 3 - url: https://hvg.hu/rss title: hvg.hu limit: 3 - url: http://www.socialpsychology.org/headlines.rss title: socialpsychology.org limit: 3 - url: https://youarenotsosmart.com/feed/ title: youarenotsosmart.com limit: 3 # ==================== TEACHING/LEARNING PAGE ==================== - name: Teaching & Learning slug: teaching width: wide columns: - size: small widgets: - type: bookmarks title: Links for Teaching groups: - links: - title: Plex url: https://plex.dooplex.hu icon: si:plex - type: bookmarks title: Links for Learning groups: - links: - title: Plex url: https://plex.dooplex.hu icon: si:plex # ---------- CENTER COLUMN ---------- - size: full widgets: # Cal.com Booking iframe - type: iframe source: https://booking.dooplex.hu/bookings/upcoming height: 500 title: Upcoming Bookings # Google Calendar iframe - type: iframe source: https://calendar.google.com/calendar/embed?src=b2884faf3db792ac082a6206057552c79080716efd5f966e169a41fc500e1c1c%40group.calendar.google.com&ctz=Europe%2FBudapest height: 500 title: Calendar # ==================== MEDIA PAGE ==================== - name: Media slug: media width: wide columns: - size: small widgets: - type: bookmarks title: Entertainment groups: - links: - title: Plex url: https://plex.dooplex.hu icon: si:plex - title: Immich (Photos) url: https://photos.dooplex.hu icon: si:immich - title: AudioBookshelf url: https://audiobookshelf.dooplex.hu icon: si:audiobookshelf - title: Calibre-Web (eBooks) url: https://books.dooplex.hu icon: si:calibreweb - title: Arcade (Retro Games) url: https://arcade.dooplex.hu icon: si:retroarch - type: bookmarks title: Media Management groups: - links: - title: Sonarr (TV Shows) url: https://sonarr.dooplex.hu icon: si:sonarr - title: Radarr (Movies) url: https://radarr.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/radarr.png - title: RadarrKids url: https://radarrkids.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/radarrkids.png - title: Prowlarr (Indexers) url: https://prowlarr.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/prowlarr.png - title: Seerr (Requests) url: https://seerr.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/seerr.png - size: full widgets: # YouTube Videos - type: videos title: YouTube channels: - UCir93b_ftqInEaDpsWYbo_g #Practical Psychology - @practicalpsychologytips - UCEwsbtepqts935wXykReKxg #CounsellingTutor - @Counsellingtutor1 - UCUdettijNYvLAm4AixZv4RA #SciShow Psych - @SciShowPsych - UClHVl2N3jPEbkNJVx-ItQIQ #HealthyGamerGG - @HealthyGamerGG - UCAvfZQ3r24F-V1JYqn2pfXg #The Psychology Podcast - @ThePsychologyPodcast - UC6Unpcb3T4QijIBs8hPfeyA #Psych Explained - @PsychExplained - UCl8TEoIOnMq_5ntJOYMq-Zg #DrJulie - @DrJulie limit: 12 collapse-after: 6 # Reddit - type: group title: Reddit widgets: - type: reddit subreddit: psychology show-thumbnails: true - type: reddit subreddit: psychologystudents show-thumbnails: true - type: reddit subreddit: psychologytalk show-thumbnails: true - type: reddit subreddit: psychologists show-thumbnails: true - type: reddit subreddit: psychologyresearch show-thumbnails: true - type: reddit subreddit: academicpsychology show-thumbnails: true - type: reddit subreddit: social_psychology show-thumbnails: true - size: small widgets: - type: bookmarks title: Other Apps groups: - links: - title: AdventureLog url: https://adventures.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/adventurelog.png - title: Wanderer url: https://wanderer.dooplex.hu icon: sh:wanderer - title: Plant-it url: https://plantit.dooplex.hu icon: si:leaflet - title: Workout (wger) url: https://workout.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/wger.png - title: Fileshare url: https://fileshare.dooplex.hu icon: si:files - title: Privatebin url: https://privatebin.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/privatebin.png - title: Pastes (OpenGist) url: https://paste.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/opengist.png - title: Zipline url: https://zipline.dooplex.hu icon: https://web.dooplex.hu/static/white-icons/zipline.png # ==================== NECTCLOUD PAGE ==================== - name: NextCloud slug: nextcloud width: wide columns: - size: full widgets: # Nextcloud iframe - type: iframe css-class: iframe-no-tint source: https://nextcloud.dooplex.hu/apps/files/files height: 1200 title: NextCloud custom.css: | /* Custom CSS for Orsi's Glance Dashboard */ /* Purple theme with background image matching Homepage */ /* ===== Wallpaper visible ===== */ html, body { height: 100%; } html { background: url("https://web.dooplex.hu/static/wallpaper-orsi.jpg") center / cover no-repeat fixed !important; } /* Glance containers that tend to paint over the wallpaper */ body, .page, #page-content, .page-content, .content-bounds, .page-columns, .page-column { background: transparent !important; } /* Optional readability veil (Homepage-like) */ body::before { content: ""; position: fixed; inset: 0; background: rgba(20, 10, 30, 0.25); pointer-events: none; z-index: 0; } body > * { position: relative; z-index: 1; } /* ===== Glassy widgets like Homepage ===== */ .widget { background: rgba(45, 31, 61, 0.55) !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 10px !important; backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important; } /* ===== Header + bigger logo ===== */ .header-container { background: rgba(45, 31, 61, 0.55) !important; backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important; border-bottom: 1px solid rgba(255,255,255,0.08) !important; } .header { min-height: 150px !important; align-items: flex-end !important; padding: 16px 18px !important; } /* This matches your DOM: