Files
cluster.fun/manifests/donetick/donetick.yaml
T
2026-10-11 15:23:26 +01:00

120 lines
2.8 KiB
YAML

apiVersion: v1
kind: Secret
metadata:
name: donetick
namespace: donetick
labels:
app: donetick
app.kubernetes.io/name: donetick
annotations:
kube-1password: p7zyebs55g25wq7be2g2kv7wbm
kube-1password/vault: Kubernetes
kube-1password/secret-text-key: selfhosted.yaml
type: Opaque
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: donetick
namespace: donetick
labels:
app: donetick
app.kubernetes.io/name: donetick
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
selector:
matchLabels:
app: donetick
template:
metadata:
labels:
app: donetick
app.kubernetes.io/name: donetick
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- name: donetick
image: donetick/donetick:v0.1.80
imagePullPolicy: IfNotPresent
env:
- name: DT_ENV
value: selfhosted
- name: DT_SERVER_CORS_ALLOW_ORIGINS
value: "http://localhost:2021,https://localhost:2021,https://localhost,capacitor://localhost,http://127.0.0.1,https://donetick.cluster.fun"
ports:
- containerPort: 2021
name: web
volumeMounts:
- mountPath: /config
name: config
- mountPath: /donetick-data
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: donetick
- name: config
secret:
secretName: donetick
---
apiVersion: v1
kind: Service
metadata:
name: donetick
namespace: donetick
labels:
app: donetick
app.kubernetes.io/name: donetick
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: donetick
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: donetick
namespace: donetick
labels:
app: donetick
app.kubernetes.io/name: donetick
annotations:
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/client-body-buffer-size: 25m
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
nginx.ingress.kubernetes.io/proxy-next-upstream: "300"
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "300"
spec:
ingressClassName: nginx
tls:
- hosts:
- donetick.cluster.fun
secretName: donetick-ingress
rules:
- host: donetick.cluster.fun
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: donetick
port:
name: web