diff --git a/home-apps/logseq.yaml b/home-apps/logseq.yaml new file mode 100644 index 0000000..07ae2a1 --- /dev/null +++ b/home-apps/logseq.yaml @@ -0,0 +1,87 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: logseq + namespace: home-apps + labels: + app: logseq +spec: + replicas: 1 + revisionHistoryLimit: 2 + selector: + matchLabels: + app: logseq + template: + metadata: + labels: + app: logseq + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - server-3 + containers: + - name: logseq + image: ghcr.io/logseq/logseq-webapp:latest + imagePullPolicy: Always + ports: + - containerPort: 80 + name: web + protocol: TCP + resources: + requests: + memory: "64Mi" + cpu: "100m" + limits: + memory: "400Mi" + cpu: "400m" +--- +apiVersion: v1 +kind: Service +metadata: + name: logseq + namespace: home-apps + labels: + app: logseq +spec: + selector: + app: logseq + ports: + - name: web + port: 80 + targetPort: 80 + protocol: TCP +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: logseq-ingress + namespace: home-apps + annotations: + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # HTTPS required by File System Access API used by Logseq web app + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/auth-url: "https://pass.junv.cc/oauth2/auth" + nginx.ingress.kubernetes.io/auth-signin: "https://pass.junv.cc/oauth2/start?rd=https://$host$escaped_request_uri" +spec: + ingressClassName: nginx + tls: + - hosts: + - logseq.junv.cc + secretName: logseq-tls + rules: + - host: logseq.junv.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: logseq + port: + number: 80