From 3209a13ed648d8ccacb6ce9e30d0843752861930 Mon Sep 17 00:00:00 2001 From: Nik Afiq Date: Tue, 12 May 2026 22:32:20 +0900 Subject: [PATCH] feat: enhance Dashy configuration with new Downloads section and integrate gluetun API for VPN IP display feat: update qBittorrent deployment to expose gluetun API on port 8000 and add TLS certificate for secure access feat: add gluetun DNS entry to Pi-hole configuration for improved network management --- config/dashy/conf.yaml | 32 +++++++++++++++++++++++------ manifests/media/qbittorrent.yaml | 35 ++++++++++++++++++++++++++++++++ values/pihole.yaml | 3 ++- 3 files changed, 63 insertions(+), 7 deletions(-) diff --git a/config/dashy/conf.yaml b/config/dashy/conf.yaml index 3596b45..ddac200 100644 --- a/config/dashy/conf.yaml +++ b/config/dashy/conf.yaml @@ -41,8 +41,7 @@ appConfig: border-radius: 14px !important; } sections: - -##################### At a Glance ##################### + ##################### At a Glance ##################### - name: At a Glance icon: mdi-home-variant-outline widgets: @@ -81,7 +80,7 @@ sections: collapsed: false hideForGuests: false -##################### Services ##################### + ##################### Services ##################### - name: Services icon: mdi-apps items: @@ -120,7 +119,7 @@ sections: rows: 1 cols: 1 -##################### System — Minisforum ##################### + ##################### System — Minisforum ##################### - name: System — Minisforum icon: mdi-server widgets: @@ -151,7 +150,7 @@ sections: rows: 3 cols: 1 -##################### System — Debian ##################### + ##################### System — Debian ##################### - name: System — Debian icon: mdi-harddisk widgets: @@ -175,7 +174,7 @@ sections: rows: 3 cols: 1 -##################### Shortcuts ##################### + ##################### Shortcuts ##################### - name: Shortcuts icon: mdi-bookmark-outline items: @@ -216,3 +215,24 @@ sections: cutToHeight: true rows: 1 cols: 1 + + ##################### Downloads ##################### + - name: Downloads + icon: mdi-download-network-outline + widgets: + - type: iframe + options: + url: https://gluetun.home.arpa/v1/publicip/ip + frameHeight: 80 + id: 0_downloads_vpnip + items: + - title: qBittorrent + icon: si-qbittorrent + url: https://qbittorrent.home.arpa + target: newtab + id: 1_downloads_qbittorrent + - title: JDownloader + icon: mdi-cloud-download-outline + url: https://jdownloader.home.arpa + target: newtab + id: 2_downloads_jdownloader diff --git a/manifests/media/qbittorrent.yaml b/manifests/media/qbittorrent.yaml index 91522e4..9ec6e1d 100644 --- a/manifests/media/qbittorrent.yaml +++ b/manifests/media/qbittorrent.yaml @@ -69,6 +69,8 @@ spec: volumeMounts: - name: tun mountPath: /dev/net/tun + ports: + - containerPort: 8000 - name: qbittorrent image: lscr.io/linuxserver/qbittorrent:5.2.0 ports: @@ -111,6 +113,9 @@ spec: ports: - port: 80 targetPort: 8080 + - name: gluetun-api + port: 8000 + targetPort: 8000 --- apiVersion: networking.k8s.io/v1 kind: Ingress @@ -138,3 +143,33 @@ spec: name: qbittorrent port: number: 80 +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: gluetun-tls + namespace: downloads +spec: + secretName: gluetun-tls + issuerRef: + name: internal-ca-issuer + kind: ClusterIssuer + dnsNames: + - gluetun.home.arpa +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: gluetun-api + namespace: downloads +spec: + entryPoints: + - websecure + routes: + - match: Host(`gluetun.home.arpa`) + kind: Rule + services: + - name: qbittorrent + port: 8000 + tls: + secretName: gluetun-tls diff --git a/values/pihole.yaml b/values/pihole.yaml index a88a62f..3405005 100644 --- a/values/pihole.yaml +++ b/values/pihole.yaml @@ -82,4 +82,5 @@ dnsmasq: - address=/immich.home.arpa/192.168.7.77 - address=/gitea.nik4nao.com/192.168.7.77 - address=/ha.home.arpa/192.168.7.77 - - address=/argocd.home.arpa/192.168.7.77 \ No newline at end of file + - address=/argocd.home.arpa/192.168.7.77 + - address=/gluetun.home.arpa/192.168.7.77 \ No newline at end of file