From 54d85078667409201b62b24eda3a8e98f132ec1b Mon Sep 17 00:00:00 2001 From: j Date: Sat, 12 Jul 2025 13:53:27 +1000 Subject: [PATCH] GPT rework cloned with db --- deployments/home-server/linkwarden.yaml | 117 ++++++++++++++++++------ 1 file changed, 89 insertions(+), 28 deletions(-) diff --git a/deployments/home-server/linkwarden.yaml b/deployments/home-server/linkwarden.yaml index 95492f2..d3aaa9d 100644 --- a/deployments/home-server/linkwarden.yaml +++ b/deployments/home-server/linkwarden.yaml @@ -1,6 +1,92 @@ --- apiVersion: v1 kind: PersistentVolume +metadata: + name: linkwarden-pgdata-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-path + hostPath: + path: /dpool/services/linkwarden/database +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: linkwarden-pgdata-pvc + namespace: home-server +spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 5Gi + volumeName: linkwarden-pgdata-pv +--- +apiVersion: v1 +kind: Service +metadata: + name: linkwarden-postgres + namespace: home-server +spec: + ports: + - port: 5432 + selector: + app: linkwarden-postgres +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: linkwarden-postgres + namespace: home-server +spec: + replicas: 1 + selector: + matchLabels: + app: linkwarden-postgres + template: + metadata: + labels: + app: linkwarden-postgres + spec: + containers: + - name: postgres + image: postgres:15 + env: + - name: POSTGRES_DB + value: linkwarden + - name: POSTGRES_USER + value: linkwardenuser + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: linkwarden-postgres-secret + key: postgres-password + ports: + - containerPort: 5432 + volumeMounts: + - name: pgdata + mountPath: /var/lib/postgresql/data + volumes: + - name: pgdata + persistentVolumeClaim: + claimName: linkwarden-pgdata-pvc +--- +apiVersion: v1 +kind: Secret +metadata: + name: linkwarden-postgres-secret + namespace: home-server +type: Opaque +stringData: + postgres-password: "your-strong-password-here" +--- +apiVersion: v1 +kind: PersistentVolume metadata: name: linkwarden-pv spec: @@ -11,7 +97,7 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-path hostPath: - path: /dpool/services/linkwarden + path: /dpool/services/linkwarden/app --- apiVersion: v1 kind: PersistentVolumeClaim @@ -80,9 +166,9 @@ spec: - name: NODE_ENV value: "production" - name: TZ - value: "Australia/Sydney" + value: "Australia/Brisbane" - name: DATABASE_URL - value: "file:/data/data.db" + value: "postgresql://linkwardenuser:$(POSTGRES_PASSWORD)@linkwarden-postgres.home-server.svc.cluster.local:5432/linkwarden" volumeMounts: - name: linkwarden-data mountPath: /data @@ -91,29 +177,4 @@ spec: persistentVolumeClaim: claimName: linkwarden-pvc --- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: linkwarden - namespace: home-server - annotations: - external-dns.alpha.kubernetes.io/hostname: links.hxme.net - nginx.ingress.kubernetes.io/server-snippet: | - add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; -spec: - tls: - - hosts: - - links.hxme.net - secretName: wildcard-hxme-net - rules: - - host: links.hxme.net - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: linkwarden - port: - number: 3000