From 7a4158a5b8020cb0c18b10bf87214fc880e92bd3 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Fri, 9 Jan 2026 21:19:46 +0100 Subject: [PATCH] created hompeage for orsi in separate file --- homepage-system/homepage-orsi.yaml | 496 +++++++++++++++++++++++++++++ homepage-system/homepage.yaml | 455 -------------------------- 2 files changed, 496 insertions(+), 455 deletions(-) create mode 100644 homepage-system/homepage-orsi.yaml diff --git a/homepage-system/homepage-orsi.yaml b/homepage-system/homepage-orsi.yaml new file mode 100644 index 0000000..40c32b4 --- /dev/null +++ b/homepage-system/homepage-orsi.yaml @@ -0,0 +1,496 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: homepage-orsi-config + namespace: homepage-system + labels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi +data: + # Kubernetes connection configuration + kubernetes.yaml: | + mode: cluster + ingress: false + + # Global settings + settings.yaml: | + title: Orsi Home + favicon: https://nextcloud.dooplex.hu/s/9H89T5kgNRpkQDP/download + background: https://web.dooplex.hu/static/wallpaper-orsi.jpg + cardBlur: sm + useEqualHeights: true + disableIndexing: true + headerStyle: clean + layout: + Entertainment: + tab: Applications + style: row + columns: 3 + Scheduling: + tab: Productivity + style: row + columns: 2 + Productivity: + tab: Productivity + style: row + columns: 3 + Other: Applications + style: row + columns: 3 + providers: + longhorn: + url: http://192.168.0.209 + + # Services configuration - customize as needed + services.yaml: | + - Entertainment: + - Arcade: + icon: romm.png + href: https://arcade.dooplex.hu + description: Retro Games + widget: + type: romm + url: http://romm.arcade-system.svc.cluster.local:8080 + - Crafty Controller: + icon: crafty-controller.svg + href: https://crafty.dooplex.hu + description: Minecraft server manager + - AudioBookshelf: + icon: audiobookshelf.png + href: https://audiobookshelf.dooplex.hu + description: AudioBooks + widget: + type: audiobookshelf + url: http://audiobookshelf.audiobookshelf-system.svc.cluster.local + key: "{{HOMEPAGE_VAR_AUDIOBOOKSHELF_API_KEY}}" + - Calibre-Web: + icon: calibre-web.png + href: https://books.dooplex.hu + description: eBooks + widget: + type: calibreweb + url: http://calibre-web.calibre-system.svc.cluster.local:8083 + username: "{{HOMEPAGE_VAR_CALIBREWEB_USER}}" + password: "{{HOMEPAGE_VAR_CALIBREWEB_PASS}}" + - Immich: + icon: immich.png + href: https://photos.dooplex.hu + description: Photos + widget: + type: immich + url: http://immich-server.immich-system.svc.cluster.local:2283 + key: "{{HOMEPAGE_VAR_IMMICH_API_KEY}}" + version: 2 + - Plex: + icon: plex.png + href: https://plex.dooplex.hu + description: Media Server + - Sonarr: + icon: sonarr.png + href: https://sonarr.dooplex.hu + description: TV Shows + widget: + type: sonarr + url: http://sonarr.servarr-system.svc.cluster.local:8989 + key: "{{HOMEPAGE_VAR_SONARR_API_KEY}}" + - Radarr: + icon: radarr.png + href: https://radarr.dooplex.hu + description: Movies + widget: + type: radarr + url: http://radarr.servarr-system.svc.cluster.local:7878 + key: "{{HOMEPAGE_VAR_RADARR_API_KEY}}" + - RadarrKids: + icon: https://nextcloud.dooplex.hu/s/E3LB8dJTTpyDSge/download + href: https://radarrkids.dooplex.hu + description: Kids Movies + widget: + type: radarr + url: http://radarrkids.servarr-system.svc.cluster.local:7879 + key: "{{HOMEPAGE_VAR_RADARRKIDS_API_KEY}}" + - Prowlarr: + icon: prowlarr.png + href: https://prowlarr.dooplex.hu + description: Indexer Manager + widget: + type: prowlarr + url: http://prowlarr.servarr-system.svc.cluster.local:9696 + key: "{{HOMEPAGE_VAR_PROWLARR_API_KEY}}" + - Seerr: + icon: overseerr.png + href: https://seerr.dooplex.hu + description: Movie, TV Show Request + widget: + type: overseerr + url: http://seerr.servarr-system.svc.cluster.local:5055 + key: "{{HOMEPAGE_VAR_SEERR_API_KEY}}" + + - Scheduling: + - Cal.com: + icon: cal-com-light.png + widget: + type: iframe + src: https://booking.dooplex.hu/bookings/upcoming + classes: calcom-iframe + - Calendar: + icon: google-calendar.png + widget: + type: iframe + src: https://booking.dooplex.hu/bookings/upcoming + classes: calendar-iframe + + - Productivity: + - ActialBudget: + icon: actual-budget.png + href: https://actualbudget.dooplex.hu + description: Finance Manager + - Bookstack: + icon: bookstack.png + href: https://bookstack.dooplex.hu + description: Documentation, Wiki + - Nextcloud: + icon: nextcloud.png + href: https://nextcloud.dooplex.hu + description: Cloud Storage + - Outline: + icon: outline.png + href: https://outline.dooplex.hu + description: Team Wiki, Documentation + - Paperless: + icon: paperless-ngx.png + href: https://paperless.dooplex.hu + description: Document Management + - Tandoor: + icon: tandoor-recipes.png + href: https://tandoor.dooplex.hu + description: Recipe Manager + widget: + type: tandoor + url: http://tandoor.tandoor-system.svc.cluster.local:8080 + key: "{{HOMEPAGE_VAR_TANDOOR_API_KEY}}" + - Vaultwarden: + icon: bitwarden.png + href: https://vaultwarden.dooplex.hu + description: Password Manager + + - Other: + - Adventurelog: + icon: adventure-log.png + href: https://adventures.dooplex.hu + description: Documenting Travels + - Fileshare: + icon: https://nextcloud.dooplex.hu/s/89PfscLdHoykWrZ/download + href: https://fileshare.dooplex.hu + description: Drag&Drop Fileshare + - Pastes: + icon: opengist.png + href: https://paste.dooplex.hu + description: Pastes (opengist) + - Privatebin: + icon: privatebin.png + href: https://privatebin.dooplex.hu + description: Pastebin (secure) + - Plantit: + icon: plant-it.png + href: https://plantit.dooplex.hu + description: Gardening companion + - Wanderer: + icon: wanderer.png + href: https://wanderer.dooplex.hu + description: Trail database + - Workout: + icon: wger.png + href: https://workout.dooplex.hu + description: Workout and fitness manager + - Zipline: + icon: zipline-diced.png + href: https://zipline.dooplex.hu + description: Image and file sharing + + # Widgets configuration + widgets.yaml: | + - logo: + icon: "https://web.dooplex.hu/static/dooplex_logo_orsi_2.png" + - greeting: + text_size: xl + text: "Welcome! :)" + - openmeteo: + label: Budapest + latitude: 47.503012 + longitude: 19.088314 + timezone: Europe/Budapest + units: metric + cache: 5 + - datetime: + text_size: l + format: + dateStyle: long + timeStyle: short + hour12: false + + # Bookmarks + bookmarks.yaml: | + - Developer: + - GitHub: + - abbr: GH + href: https://github.com + icon: github.png + - Gitea: + - abbr: GT + href: https://gitea.dooplex.hu + icon: gitea.png + - Documentation: + - Kubernetes: + - abbr: K8s + href: https://kubernetes.io/docs + icon: kubernetes.png + - ArgoCD: + - abbr: Argo + href: https://argo-cd.readthedocs.io + icon: argo-cd.png + + # Docker settings (not used in k8s mode) + docker.yaml: "" + + # Custom CSS + custom.css: | + /* Make the logo widget container bigger */ + #information-widgets .information-widget-logo { + min-height: 100px !important; + display: flex !important; + align-items: center !important; + } + + /* Make the image fill it */ + #information-widgets .information-widget-logo img { + max-height: 100px !important; + height: 100px !important; + width: auto !important; + object-fit: contain !important; + } + + .calcom-iframe { + height: 600px !important; + } + + .calendar-iframe { + height: 600px !important; + } + + # Custom JS + custom.js: "" +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: homepage-orsi + namespace: homepage-system + labels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi + app.kubernetes.io/version: "v1.8.0" +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi + template: + metadata: + labels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi + app.kubernetes.io/version: "v1.8.0" + spec: + serviceAccountName: homepage + automountServiceAccountToken: true + dnsPolicy: ClusterFirst + enableServiceLinks: true + containers: + - name: homepage + image: ghcr.io/gethomepage/homepage:v1.8.0 + imagePullPolicy: IfNotPresent + env: + # Required for external access + - name: HOMEPAGE_ALLOWED_HOSTS + value: "*" + # Timezone + - name: TZ + value: "Europe/Budapest" + # Optional: Widget API keys (create secret with these if needed) + - name: HOMEPAGE_VAR_TANDOOR_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: tandoor-api-key + - name: HOMEPAGE_VAR_PROWLARR_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: prowlarr-api-key + - name: HOMEPAGE_VAR_SONARR_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: sonarr-api-key + - name: HOMEPAGE_VAR_RADARR_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: radarr-api-key + - name: HOMEPAGE_VAR_RADARRKIDS_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: radarrkids-api-key + - name: HOMEPAGE_VAR_SEERR_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: seerr-api-key + - name: HOMEPAGE_VAR_IMMICH_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: immich-api-key + - name: HOMEPAGE_VAR_AUDIOBOOKSHELF_API_KEY + valueFrom: + secretKeyRef: + name: homepage-secrets + key: audiobookshelf-api-key + - name: HOMEPAGE_VAR_CALIBREWEB_USER + valueFrom: + secretKeyRef: + name: homepage-secrets + key: calibreweb-user + - name: HOMEPAGE_VAR_CALIBREWEB_PASS + valueFrom: + secretKeyRef: + name: homepage-secrets + key: calibreweb-pass + ports: + - name: http + containerPort: 3000 + protocol: TCP + livenessProbe: + httpGet: + path: /api/healthcheck + port: http + initialDelaySeconds: 30 + periodSeconds: 30 + timeoutSeconds: 10 + failureThreshold: 3 + readinessProbe: + httpGet: + path: /api/healthcheck + port: http + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 3 + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi + volumeMounts: + - name: config + mountPath: /app/config/kubernetes.yaml + subPath: kubernetes.yaml + - name: config + mountPath: /app/config/settings.yaml + subPath: settings.yaml + - name: config + mountPath: /app/config/services.yaml + subPath: services.yaml + - name: config + mountPath: /app/config/widgets.yaml + subPath: widgets.yaml + - name: config + mountPath: /app/config/bookmarks.yaml + subPath: bookmarks.yaml + - name: config + mountPath: /app/config/docker.yaml + subPath: docker.yaml + - name: config + mountPath: /app/config/custom.css + subPath: custom.css + - name: config + mountPath: /app/config/custom.js + subPath: custom.js + volumes: + - name: config + configMap: + name: homepage-orsi-config +--- +apiVersion: v1 +kind: Service +metadata: + name: homepage-orsi + namespace: homepage-system + labels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi +spec: + type: ClusterIP + ports: + - name: http + port: 3000 + targetPort: http + protocol: TCP + selector: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: homepage-orsi + namespace: homepage-system + labels: + app.kubernetes.io/name: homepage-orsi + app.kubernetes.io/instance: homepage-orsi + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + external-dns.alpha.kubernetes.io/hostname: orsi.dooplex.hu + nginx.ingress.kubernetes.io/ssl-redirect: "true" + nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" + nginx.ingress.kubernetes.io/proxy-buffers-number: "4" + nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "32k" + # Authentik Forward Auth annotations + # Update 'homepage-outpost' with your actual outpost name + nginx.ingress.kubernetes.io/auth-url: http://ak-outpost-homepage-orsi-outpost.auth-system.svc.cluster.local:9000/outpost.goauthentik.io/auth/nginx + nginx.ingress.kubernetes.io/auth-signin: https://orsi.dooplex.hu/outpost.goauthentik.io/start?rd=$escaped_request_uri + nginx.ingress.kubernetes.io/auth-response-headers: Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-email + nginx.ingress.kubernetes.io/auth-snippet: | + proxy_set_header X-Forwarded-Host $http_host; + # Homepage auto-discovery annotation + gethomepage.dev/enabled: "true" + gethomepage.dev/name: "Homepage" + gethomepage.dev/description: "Application Dashboard" + gethomepage.dev/group: "Infrastructure" + gethomepage.dev/icon: "homepage.png" +spec: + ingressClassName: nginx-internal + rules: + - host: orsi.dooplex.hu + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: homepage-orsi + port: + number: 3000 + tls: + - hosts: + - orsi.dooplex.hu + secretName: homepage-user-tls +--- \ No newline at end of file diff --git a/homepage-system/homepage.yaml b/homepage-system/homepage.yaml index 7dff4f8..ba19563 100644 --- a/homepage-system/homepage.yaml +++ b/homepage-system/homepage.yaml @@ -503,249 +503,6 @@ data: # Custom JS custom.js: "" --- -apiVersion: v1 -kind: ConfigMap -metadata: - name: homepage-user-config - namespace: homepage-system - labels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user -data: - # Kubernetes connection configuration - kubernetes.yaml: | - mode: cluster - ingress: false - - # Global settings - settings.yaml: | - title: Dooplex Dashboard - favicon: https://nextcloud.dooplex.hu/s/9H89T5kgNRpkQDP/download - theme: dark - color: slate - headerStyle: clean - layout: - Entertainment: - style: row - columns: 3 - Productivity: - style: row - columns: 3 - Other: - style: row - columns: 3 - providers: - longhorn: - url: http://192.168.0.209 - - # Services configuration - customize as needed - services.yaml: | - - Entertainment: - - Arcade: - icon: romm.png - href: https://arcade.dooplex.hu - description: Retro Games - widget: - type: romm - url: http://romm.arcade-system.svc.cluster.local:8080 - - Crafty Controller: - icon: crafty-controller.svg - href: https://crafty.dooplex.hu - description: Minecraft server manager - - AudioBookshelf: - icon: audiobookshelf.png - href: https://audiobookshelf.dooplex.hu - description: AudioBooks - widget: - type: audiobookshelf - url: http://audiobookshelf.audiobookshelf-system.svc.cluster.local - key: "{{HOMEPAGE_VAR_AUDIOBOOKSHELF_API_KEY}}" - - Calibre-Web: - icon: calibre-web.png - href: https://books.dooplex.hu - description: eBooks - widget: - type: calibreweb - url: http://calibre-web.calibre-system.svc.cluster.local:8083 - username: "{{HOMEPAGE_VAR_CALIBREWEB_USER}}" - password: "{{HOMEPAGE_VAR_CALIBREWEB_PASS}}" - - Immich: - icon: immich.png - href: https://photos.dooplex.hu - description: Photos - widget: - type: immich - url: http://immich-server.immich-system.svc.cluster.local:2283 - key: "{{HOMEPAGE_VAR_IMMICH_API_KEY}}" - version: 2 - - Plex: - icon: plex.png - href: https://plex.dooplex.hu - description: Media Server - - Sonarr: - icon: sonarr.png - href: https://sonarr.dooplex.hu - description: TV Shows - widget: - type: sonarr - url: http://sonarr.servarr-system.svc.cluster.local:8989 - key: "{{HOMEPAGE_VAR_SONARR_API_KEY}}" - - Radarr: - icon: radarr.png - href: https://radarr.dooplex.hu - description: Movies - widget: - type: radarr - url: http://radarr.servarr-system.svc.cluster.local:7878 - key: "{{HOMEPAGE_VAR_RADARR_API_KEY}}" - - RadarrKids: - icon: https://nextcloud.dooplex.hu/s/E3LB8dJTTpyDSge/download - href: https://radarrkids.dooplex.hu - description: Kids Movies - widget: - type: radarr - url: http://radarrkids.servarr-system.svc.cluster.local:7879 - key: "{{HOMEPAGE_VAR_RADARRKIDS_API_KEY}}" - - Prowlarr: - icon: prowlarr.png - href: https://prowlarr.dooplex.hu - description: Indexer Manager - widget: - type: prowlarr - url: http://prowlarr.servarr-system.svc.cluster.local:9696 - key: "{{HOMEPAGE_VAR_PROWLARR_API_KEY}}" - - Seerr: - icon: overseerr.png - href: https://seerr.dooplex.hu - description: Movie, TV Show Request - widget: - type: overseerr - url: http://seerr.servarr-system.svc.cluster.local:5055 - key: "{{HOMEPAGE_VAR_SEERR_API_KEY}}" - - - Productivity: - - ActialBudget: - icon: actual-budget.png - href: https://actualbudget.dooplex.hu - description: Finance Manager - - Bookstack: - icon: bookstack.png - href: https://bookstack.dooplex.hu - description: Documentation, Wiki - - Nextcloud: - icon: nextcloud.png - href: https://nextcloud.dooplex.hu - description: Cloud Storage - - Outline: - icon: outline.png - href: https://outline.dooplex.hu - description: Team Wiki, Documentation - - Paperless: - icon: paperless-ngx.png - href: https://paperless.dooplex.hu - description: Document Management - - Tandoor: - icon: tandoor-recipes.png - href: https://tandoor.dooplex.hu - description: Recipe Manager - widget: - type: tandoor - url: http://tandoor.tandoor-system.svc.cluster.local:8080 - key: "{{HOMEPAGE_VAR_TANDOOR_API_KEY}}" - - Vaultwarden: - icon: bitwarden.png - href: https://vaultwarden.dooplex.hu - description: Password Manager - - - Other: - - Adventurelog: - icon: adventure-log.png - href: https://adventures.dooplex.hu - description: Documenting Travels - - Fileshare: - icon: https://nextcloud.dooplex.hu/s/89PfscLdHoykWrZ/download - href: https://fileshare.dooplex.hu - description: Drag&Drop Fileshare - - Pastes: - icon: opengist.png - href: https://paste.dooplex.hu - description: Pastes (opengist) - - Privatebin: - icon: privatebin.png - href: https://privatebin.dooplex.hu - description: Pastebin (secure) - - Plantit: - icon: plant-it.png - href: https://plantit.dooplex.hu - description: Gardening companion - - Wanderer: - icon: wanderer.png - href: https://wanderer.dooplex.hu - description: Trail database - - Workout: - icon: wger.png - href: https://workout.dooplex.hu - description: Workout and fitness manager - - Zipline: - icon: zipline-diced.png - href: https://zipline.dooplex.hu - description: Image and file sharing - - # Widgets configuration - widgets.yaml: | - - logo: - icon: https://nextcloud.dooplex.hu/s/sD9GdyEZNFdxRns/download - - datetime: - text_size: l - format: - dateStyle: long - timeStyle: short - hour12: false - - # Bookmarks - bookmarks.yaml: | - - Developer: - - GitHub: - - abbr: GH - href: https://github.com - icon: github.png - - Gitea: - - abbr: GT - href: https://gitea.dooplex.hu - icon: gitea.png - - Documentation: - - Kubernetes: - - abbr: K8s - href: https://kubernetes.io/docs - icon: kubernetes.png - - ArgoCD: - - abbr: Argo - href: https://argo-cd.readthedocs.io - icon: argo-cd.png - - # Docker settings (not used in k8s mode) - docker.yaml: "" - - # Custom CSS - custom.css: | - /* Make the logo widget container bigger */ - #information-widgets .information-widget-logo { - min-height: 100px !important; - display: flex !important; - align-items: center !important; - } - - /* Make the image fill it */ - #information-widgets .information-widget-logo img { - max-height: 100px !important; - height: 100px !important; - width: auto !important; - object-fit: contain !important; - } - - # Custom JS - custom.js: "" ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -913,153 +670,6 @@ spec: configMap: name: homepage-config --- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: homepage-user - namespace: homepage-system - labels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user - app.kubernetes.io/version: "v1.8.0" -spec: - replicas: 1 - strategy: - type: Recreate - selector: - matchLabels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user - template: - metadata: - labels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user - app.kubernetes.io/version: "v1.8.0" - spec: - serviceAccountName: homepage - automountServiceAccountToken: true - dnsPolicy: ClusterFirst - enableServiceLinks: true - containers: - - name: homepage - image: ghcr.io/gethomepage/homepage:v1.8.0 - imagePullPolicy: IfNotPresent - env: - # Required for external access - - name: HOMEPAGE_ALLOWED_HOSTS - value: "*" - # Timezone - - name: TZ - value: "Europe/Budapest" - # Optional: Widget API keys (create secret with these if needed) - - name: HOMEPAGE_VAR_TANDOOR_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: tandoor-api-key - - name: HOMEPAGE_VAR_PROWLARR_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: prowlarr-api-key - - name: HOMEPAGE_VAR_SONARR_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: sonarr-api-key - - name: HOMEPAGE_VAR_RADARR_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: radarr-api-key - - name: HOMEPAGE_VAR_RADARRKIDS_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: radarrkids-api-key - - name: HOMEPAGE_VAR_SEERR_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: seerr-api-key - - name: HOMEPAGE_VAR_IMMICH_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: immich-api-key - - name: HOMEPAGE_VAR_AUDIOBOOKSHELF_API_KEY - valueFrom: - secretKeyRef: - name: homepage-secrets - key: audiobookshelf-api-key - - name: HOMEPAGE_VAR_CALIBREWEB_USER - valueFrom: - secretKeyRef: - name: homepage-secrets - key: calibreweb-user - - name: HOMEPAGE_VAR_CALIBREWEB_PASS - valueFrom: - secretKeyRef: - name: homepage-secrets - key: calibreweb-pass - ports: - - name: http - containerPort: 3000 - protocol: TCP - livenessProbe: - httpGet: - path: /api/healthcheck - port: http - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - failureThreshold: 3 - readinessProbe: - httpGet: - path: /api/healthcheck - port: http - initialDelaySeconds: 10 - periodSeconds: 10 - timeoutSeconds: 5 - failureThreshold: 3 - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi - volumeMounts: - - name: config - mountPath: /app/config/kubernetes.yaml - subPath: kubernetes.yaml - - name: config - mountPath: /app/config/settings.yaml - subPath: settings.yaml - - name: config - mountPath: /app/config/services.yaml - subPath: services.yaml - - name: config - mountPath: /app/config/widgets.yaml - subPath: widgets.yaml - - name: config - mountPath: /app/config/bookmarks.yaml - subPath: bookmarks.yaml - - name: config - mountPath: /app/config/docker.yaml - subPath: docker.yaml - - name: config - mountPath: /app/config/custom.css - subPath: custom.css - - name: config - mountPath: /app/config/custom.js - subPath: custom.js - volumes: - - name: config - configMap: - name: homepage-user-config ---- apiVersion: v1 kind: Service metadata: @@ -1079,25 +689,6 @@ spec: app.kubernetes.io/name: homepage app.kubernetes.io/instance: homepage --- -apiVersion: v1 -kind: Service -metadata: - name: homepage-user - namespace: homepage-system - labels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user -spec: - type: ClusterIP - ports: - - name: http - port: 3000 - targetPort: http - protocol: TCP - selector: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user ---- # Ingress WITH Authentik proxy authentication # Update the auth-url annotation with your actual outpost service name after Authentik creates it apiVersion: networking.k8s.io/v1 @@ -1155,50 +746,4 @@ spec: - hosts: - homepage.dooplex.hu secretName: homepage-tls ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: homepage-user - namespace: homepage-system - labels: - app.kubernetes.io/name: homepage-user - app.kubernetes.io/instance: homepage-user - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - external-dns.alpha.kubernetes.io/hostname: dooplex.hu - nginx.ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" - nginx.ingress.kubernetes.io/proxy-buffers-number: "4" - nginx.ingress.kubernetes.io/proxy-busy-buffers-size: "32k" - # Authentik Forward Auth annotations - # Update 'homepage-outpost' with your actual outpost name - nginx.ingress.kubernetes.io/auth-url: http://ak-outpost-homepage-user-outpost.auth-system.svc.cluster.local:9000/outpost.goauthentik.io/auth/nginx - nginx.ingress.kubernetes.io/auth-signin: https://dooplex.hu/outpost.goauthentik.io/start?rd=$escaped_request_uri - nginx.ingress.kubernetes.io/auth-response-headers: Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-email - nginx.ingress.kubernetes.io/auth-snippet: | - proxy_set_header X-Forwarded-Host $http_host; - # Homepage auto-discovery annotation - gethomepage.dev/enabled: "true" - gethomepage.dev/name: "Homepage" - gethomepage.dev/description: "Application Dashboard" - gethomepage.dev/group: "Infrastructure" - gethomepage.dev/icon: "homepage.png" -spec: - ingressClassName: nginx-internal - rules: - - host: dooplex.hu - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: homepage-user - port: - number: 3000 - tls: - - hosts: - - dooplex.hu - secretName: homepage-user-tls --- \ No newline at end of file