From e33a2228e1a55ff4abac1e8cc363f51c0a2d0019 Mon Sep 17 00:00:00 2001 From: rock Date: Wed, 16 Sep 2026 06:56:10 +0900 Subject: [PATCH] feat(igotify): deploy igotify server + upgrade gotify to 3.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - igotify server v1.6.0.1 (supports Gotify 3.x) - gotify upgraded 2.9.1 → 3.1.0 - igotify PVC, Deployment, Service, Ingress in notifications ns - CoreDNS rewrite for igotify.riotpiao.com → nginx --- k8s/apps/gotify/deployment.yaml | 4 +- k8s/apps/gotify/igotify-deployment.yaml | 59 +++++++++++++++++++++++++ k8s/apps/gotify/igotify-ingress.yaml | 22 +++++++++ k8s/apps/gotify/igotify-pvc.yaml | 11 +++++ k8s/apps/gotify/igotify-service.yaml | 14 ++++++ k8s/apps/gotify/kustomization.yaml | 4 ++ terraform/files/coredns/Corefile | 1 + 7 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 k8s/apps/gotify/igotify-deployment.yaml create mode 100644 k8s/apps/gotify/igotify-ingress.yaml create mode 100644 k8s/apps/gotify/igotify-pvc.yaml create mode 100644 k8s/apps/gotify/igotify-service.yaml diff --git a/k8s/apps/gotify/deployment.yaml b/k8s/apps/gotify/deployment.yaml index 4126cae..f3a261b 100644 --- a/k8s/apps/gotify/deployment.yaml +++ b/k8s/apps/gotify/deployment.yaml @@ -23,7 +23,7 @@ spec: containers: # --- Gotify server --- - name: gotify - image: ghcr.io/gotify/server:2.9.1 + image: ghcr.io/gotify/server:3.1.0 command: ["/bin/sh", "-c"] args: - | @@ -84,7 +84,7 @@ spec: # Watches Gotify WebSocket stream, forwards messages as email. # https://github.com/eternal-flame-AD/gotify-broadcast - name: smtp-emailer - image: ghcr.io/gotify/server:2.9.1 + image: ghcr.io/gotify/server:3.1.0 command: - /bin/sh - -c diff --git a/k8s/apps/gotify/igotify-deployment.yaml b/k8s/apps/gotify/igotify-deployment.yaml new file mode 100644 index 0000000..fe611a1 --- /dev/null +++ b/k8s/apps/gotify/igotify-deployment.yaml @@ -0,0 +1,59 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: igotify + namespace: notifications + labels: + app: igotify +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: igotify + template: + metadata: + labels: + app: igotify + spec: + containers: + - name: igotify + image: ghcr.io/androidseb25/igotify-notification-assist:v1.6.0.1 + ports: + - containerPort: 8080 + protocol: TCP + env: + - name: ENABLE_CONSOLE_LOG + value: "true" + - name: ENABLE_SCALAR_UI + value: "true" + # GOTIFY_URLS / GOTIFY_CLIENT_TOKENS / SECNTFY_TOKENS intentionally + # left unset — not required when Gotify is reachable via public domain + # (gotify.riotpiao.com). iGotify iOS app registers itself at runtime. + volumeMounts: + - name: data + mountPath: /app/data + livenessProbe: + httpGet: + path: /Version + port: 8080 + initialDelaySeconds: 10 + periodSeconds: 30 + readinessProbe: + httpGet: + path: /Version + port: 8080 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 200m + memory: 128Mi + volumes: + - name: data + persistentVolumeClaim: + claimName: igotify-data diff --git a/k8s/apps/gotify/igotify-ingress.yaml b/k8s/apps/gotify/igotify-ingress.yaml new file mode 100644 index 0000000..0a94036 --- /dev/null +++ b/k8s/apps/gotify/igotify-ingress.yaml @@ -0,0 +1,22 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: igotify + namespace: notifications + annotations: + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + nginx.ingress.kubernetes.io/proxy-send-timeout: "600" + nginx.ingress.kubernetes.io/proxy-http-version: "1.1" +spec: + ingressClassName: nginx + rules: + - host: igotify.riotpiao.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: igotify + port: + number: 80 diff --git a/k8s/apps/gotify/igotify-pvc.yaml b/k8s/apps/gotify/igotify-pvc.yaml new file mode 100644 index 0000000..77360bb --- /dev/null +++ b/k8s/apps/gotify/igotify-pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: igotify-data + namespace: notifications +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi diff --git a/k8s/apps/gotify/igotify-service.yaml b/k8s/apps/gotify/igotify-service.yaml new file mode 100644 index 0000000..88adbb3 --- /dev/null +++ b/k8s/apps/gotify/igotify-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: igotify + namespace: notifications + labels: + app: igotify +spec: + selector: + app: igotify + ports: + - port: 80 + targetPort: 8080 + protocol: TCP diff --git a/k8s/apps/gotify/kustomization.yaml b/k8s/apps/gotify/kustomization.yaml index ef8ab9d..4c7e0b6 100644 --- a/k8s/apps/gotify/kustomization.yaml +++ b/k8s/apps/gotify/kustomization.yaml @@ -6,3 +6,7 @@ resources: - deployment.yaml - service.yaml - ingress.yaml + - igotify-pvc.yaml + - igotify-deployment.yaml + - igotify-service.yaml + - igotify-ingress.yaml diff --git a/terraform/files/coredns/Corefile b/terraform/files/coredns/Corefile index e6e893a..b1b0380 100644 --- a/terraform/files/coredns/Corefile +++ b/terraform/files/coredns/Corefile @@ -39,6 +39,7 @@ rewrite name comfy.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local rewrite name comfyui.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local rewrite name gotify.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local + rewrite name igotify.riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local rewrite name riotpiao.com ingress-nginx-controller.ingress-nginx.svc.cluster.local kubernetes cluster.local in-addr.arpa ip6.arpa {