From 7022cdc90bec423889ae876fd41efa4e0c11389e Mon Sep 17 00:00:00 2001 From: prettysunflower Date: Fri, 1 Aug 2025 11:16:17 -0400 Subject: [PATCH] apps(karakeep): Added karakeep to sekibanki --- apps/sekibanki/karakeep/configmap.yaml | 12 +++++ apps/sekibanki/karakeep/deployment.yaml | 61 ++++++++++++++++++++++ apps/sekibanki/karakeep/kustomization.yaml | 6 +++ apps/sekibanki/karakeep/pvc.yaml | 11 ++++ apps/sekibanki/karakeep/secrets.sops.yaml | 24 +++++++++ apps/sekibanki/karakeep/svc.yaml | 13 +++++ 6 files changed, 127 insertions(+) create mode 100644 apps/sekibanki/karakeep/configmap.yaml create mode 100644 apps/sekibanki/karakeep/deployment.yaml create mode 100644 apps/sekibanki/karakeep/kustomization.yaml create mode 100644 apps/sekibanki/karakeep/pvc.yaml create mode 100644 apps/sekibanki/karakeep/secrets.sops.yaml create mode 100644 apps/sekibanki/karakeep/svc.yaml diff --git a/apps/sekibanki/karakeep/configmap.yaml b/apps/sekibanki/karakeep/configmap.yaml new file mode 100644 index 0000000..b3e1745 --- /dev/null +++ b/apps/sekibanki/karakeep/configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: karakeep-config +data: + MEILI_ADDR: http://127.0.0.1:7700 + MEILI_NO_ANALYTICS: "true" + BROWSER_WEB_URL: http://127.0.0.1:9222 + DATA_DIR: /data + NEXTAUTH_URL: https://karakeep.prettysunflower.moe + CRAWLER_FULL_PAGE_ARCHIVE: "true" + DB_WAL_MODE: "false" \ No newline at end of file diff --git a/apps/sekibanki/karakeep/deployment.yaml b/apps/sekibanki/karakeep/deployment.yaml new file mode 100644 index 0000000..0258305 --- /dev/null +++ b/apps/sekibanki/karakeep/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: karakeep + labels: + app.kubernetes.io/name: karakeep +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: karakeep + template: + metadata: + labels: + app.kubernetes.io/name: karakeep + spec: + volumes: + - name: karakeep-data + persistentVolumeClaim: + claimName: karakeep-pvc + containers: + - name: karakeep + image: ghcr.io/karakeep-app/karakeep:0.26.0 + envFrom: + - configMapRef: + name: karakeep-config + - secretRef: + name: karakeep-secrets + ports: + - containerPort: 3000 + name: http + volumeMounts: + - name: karakeep-data + mountPath: "/data" + subPath: "karakeep" + - name: chrome + image: gcr.io/zenika-hub/alpine-chrome:123 + command: + - chromium-browser + - --headless + - --no-sandbox + - --disable-gpu + - --disable-dev-shm-usage + - --remote-debugging-address=0.0.0.0 + - --remote-debugging-port=9222 + - --hide-scrollbars + - name: meilisearch + image: getmeili/meilisearch:v1.13.3 + envFrom: + - configMapRef: + name: karakeep-config + - secretRef: + name: karakeep-secrets + volumeMounts: + - name: karakeep-data + mountPath: "/meili_data" + subPath: "melisearch" + dnsPolicy: "ClusterFirst" + dnsConfig: + nameservers: + - 100.94.59.38 diff --git a/apps/sekibanki/karakeep/kustomization.yaml b/apps/sekibanki/karakeep/kustomization.yaml new file mode 100644 index 0000000..ca3b828 --- /dev/null +++ b/apps/sekibanki/karakeep/kustomization.yaml @@ -0,0 +1,6 @@ +resources: +- deployment.yaml +- svc.yaml +- pvc.yaml +- secrets.yaml +- configmap.yaml \ No newline at end of file diff --git a/apps/sekibanki/karakeep/pvc.yaml b/apps/sekibanki/karakeep/pvc.yaml new file mode 100644 index 0000000..73aef73 --- /dev/null +++ b/apps/sekibanki/karakeep/pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: karakeep-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + storageClassName: nfs-csi \ No newline at end of file diff --git a/apps/sekibanki/karakeep/secrets.sops.yaml b/apps/sekibanki/karakeep/secrets.sops.yaml new file mode 100644 index 0000000..09e563a --- /dev/null +++ b/apps/sekibanki/karakeep/secrets.sops.yaml @@ -0,0 +1,24 @@ +apiVersion: v1 +kind: Secret +metadata: + name: karakeep-secrets +type: Opaque +stringData: + NEXTAUTH_SECRET: ENC[AES256_GCM,data:MpvitHAtZoS+f+auRZkNmIE3X7T4DJs3c00c/VeIuIlMu+jnCh0328HsmBFLBORJ,iv:jJLAy0yHqklTdj97P+KByUmyq4TlnPyGVAkSxEYZZFc=,tag:Wu1K+N1Lblo+u/R4PD4rUg==,type:str] + MEILI_MASTER_KEY: ENC[AES256_GCM,data:zUh/jb2a6YMkLMQe958h+jmy7akDSbZ6p2nf5LBT+oedDXNUcWje430mmFwJTFNy,iv:4slMeHbKmvEudt0VBYgpMzQcyluDb//mGnYgvuRs/6k=,tag:xj0GAS3HP5lOvmz++JxMyg==,type:str] + OPENAI_API_KEY: ENC[AES256_GCM,data:ILi5vUmqBCIvq5A7iztlGy6pEcdzcATSTZqqTatAOLLIADQZ4GiKg1XkAzDZ8RnqJO6c9Sq52w79esY6cyvUkKvHV9wM76W42g8TKNe2J2dFvsI/buCUEea/Z5nC5ShBCp8CP9Uybv5JP1WTFhx5TRd38K2d2L0jhh8JJmC5vMcyhELAQQh1d6HzaQb50OIMPP+doqGDgRIYPCDuuATujsG1ahJtRhc=,iv:ZzfaApTTe+vGW/CTFekCzRgajdIvo8krCf1/NKU5s1Q=,tag:hWdqVvgLsubPp+kdQUnkhQ==,type:str] +sops: + age: + - recipient: age1r0tjhg6uexyj0p7fp0ftv5h7r7e3ptzkk2797pznfvrvsm576u0s37yyaw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUcXBUQ0pJWHczOXZZbDV2 + Wms0Z2VldHJab0tjT2hWTWN5VzVqV1JLd1VFCmFadXgwVlJ2MWJxZjUzY3VwR2N1 + eXllU2VycDZZZStPTkVBdk9nMFNBRHcKLS0tIE1McUZGMGFteVo5a3RkZ1U1bGZK + MFA2MkJ3MG5wM01CbndCaXprQ29nVTQKHrlm7tD8sK3ekacLDidlfumLFeO3BmbP + rbF6nw7qdZziCiMS8XXJn2Ujk0J9Rxs+uH+mNYN03giJkxSyiG+5qA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-08-01T15:14:39Z" + mac: ENC[AES256_GCM,data:E3IquOL9tv4ne8avmSTMFr0c/b/GuAovr2YWo0wriC4pk0DOhM9+qcisP7+mFux1Xs3M5Jxjdd/+fshEOHeyTuTU6DOKJlbLSGu2uTfGQgbTRIv6aPAXCadzkOPsZgHKj4KoRasILr2yIXBZIJ8wUwHbB+1qDvR/fswX8WS+fwA=,iv:WZwWALtyCrDGLFV4y0jqsNiX5gsF/+A5P4oPn4m8f50=,tag:+V/kPPXlIGLQT1KXBLrjQg==,type:str] + encrypted_regex: ^(data|stringData)$ + version: 3.10.2 diff --git a/apps/sekibanki/karakeep/svc.yaml b/apps/sekibanki/karakeep/svc.yaml new file mode 100644 index 0000000..02b97a5 --- /dev/null +++ b/apps/sekibanki/karakeep/svc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: karakeep +spec: + type: NodePort + selector: + app.kubernetes.io/name: karakeep + ports: + - protocol: TCP + port: 80 + targetPort: http + name: http \ No newline at end of file