From b26e6a2c95b7ff12a402082227d66c4da9508e5f Mon Sep 17 00:00:00 2001 From: j Date: Sat, 12 Jul 2025 13:17:01 +1000 Subject: [PATCH] linkwarden --- deployments/home-server/kustomization.yaml | 1 + deployments/home-server/linkwarden.yaml | 104 +++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 deployments/home-server/linkwarden.yaml diff --git a/deployments/home-server/kustomization.yaml b/deployments/home-server/kustomization.yaml index 3436128..6b9c8af 100644 --- a/deployments/home-server/kustomization.yaml +++ b/deployments/home-server/kustomization.yaml @@ -6,3 +6,4 @@ resources: - authentik.yaml - nextcloud.yaml - vaultwarden.yaml + - linkwarden.yaml diff --git a/deployments/home-server/linkwarden.yaml b/deployments/home-server/linkwarden.yaml new file mode 100644 index 0000000..7ffdaf6 --- /dev/null +++ b/deployments/home-server/linkwarden.yaml @@ -0,0 +1,104 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: linkwarden-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-path + hostPath: + path: /dpool/services/linkwarden +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: linkwarden-pvc + namespace: home-server +spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 5Gi + volumeName: linkwarden-pv +--- +apiVersion: v1 +kind: Service +metadata: + name: linkwarden + namespace: home-server +spec: + selector: + app: linkwarden + ports: + - port: 3000 + targetPort: 3000 + protocol: TCP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: linkwarden + namespace: home-server +spec: + replicas: 1 + selector: + matchLabels: + app: linkwarden + template: + metadata: + labels: + app: linkwarden + spec: + containers: + - name: linkwarden + image: ghcr.io/linkwarden/linkwarden:latest + imagePullPolicy: Always + ports: + - containerPort: 3000 + env: + - name: NODE_ENV + value: "production" + - name: TZ + value: "Australia/Sydney" + - name: DATABASE_URL + value: "file:/data/data.db" + volumeMounts: + - name: linkwarden-data + mountPath: /data + volumes: + - name: linkwarden-data + 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 +