about summary refs log tree commit diff
path: root/bundles/cal/files/kube.yaml
blob: eece5188887c8c11720508a13d6e45b8b02a3b7d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
apiVersion: v1
kind: ConfigMap
metadata:
  name: cal
data:
  NEXTAUTH_URL: https://cal.gzr.im/web/
  NEXT_PUBLIC_APP_URL: https://cal.gzr.im/web/
  NEXT_PUBLIC_SITE_URL: https://cal.gzr.im/web/
  NEXT_PUBLIC_ENABLE_SAAS_FEATURES: false
---
apiVersion: v1
kind: Pod
metadata:
  name: cal
  labels:
    traefik.enable: true
    # radicale
    traefik.http.routers.radicale.tls: true
    traefik.http.routers.radicale.tls.certresolver: le
    traefik.http.routers.radicale.entrypoints: http,https
    traefik.http.routers.radicale.rule: Host(`cal.gzr.im`) && PathPrefix(`/dav`)
    traefik.http.middlewares.radicale-headers.headers.customrequestheaders.X-Script-Name: /dav
    traefik.http.middlewares.radicale-stripprefix.stripprefix.prefixes: /dav
    traefik.http.routers.radicale.middlewares: radicale-stripprefix@docker
    traefik.http.routers.radicale.service: radicale
    traefik.http.services.radicale.loadbalancer.server.port: 5232
    # fluidcal
    traefik.http.routers.fluidcal.tls: true
    traefik.http.routers.fluidcal.tls.certresolver: le
    traefik.http.routers.fluidcal.entrypoints: http,https
    traefik.http.routers.fluidcal.rule: Host(`cal.gzr.im`) && PathPrefix(`/`)
    traefik.http.routers.fluidcal.service: fluidcal
    traefik.http.services.fluidcal.loadbalancer.server.port: 3000
    # well-known
    traefik.http.middlewares.wellknowncarddav-redirect.redirectregex.regex: ^https://cal.gzr.im/.well-known/carddav
    traefik.http.middlewares.wellknowncarddav-redirect.redirectregex.replacement: https://cal.gzr.im/dav/
    traefik.http.middlewares.wellknowncaldav-redirect.redirectregex.regex: ^https://cal.gzr.im/.well-known/caldav
    traefik.http.middlewares.wellknowncaldav-redirect.redirectregex.replacement: https://cal.gzr.im/dav/
    traefik.http.routers.fluidcal.middlewares: wellknowncarddav-redirect,wellknowncaldav-redirect
spec:
  restartPolicy: Never
  dnsPolicy: Default
  containers:
    - name: radicale
      image: index.docker.io/grepular/radicale:3.5
      volumeMounts:
        - name: radicale-config
          mountPath: /etc/radicale
          readOnly: true
        - name: radicale-data
          mountPath: /var/lib/radicale
      ports:
        - containerPort: 5232
          protocol: TCP
      # livenessProbe:
      #   httpGet:
      #     path: /
      #     port: 5232
      resources:
        requests:
          cpu: 10m
          memory: 25Mi
        limits:
          cpu: 100m
          memory: 128Mi

    # - name: fluidcal
    #   image: index.docker.io/eibrahim/fluid-calendar:1.4
    #   ports:
    #     - containerPort: 3000
    #       protocol: TCP
    #   envFrom:
    #   - configMapRef:
    #       name: cal
    #   - secretRef:
    #       name: cal
    #   livenessProbe:
    #     httpGet:
    #       path: /
    #       port: 3000
    #   # resources:
    #   #   limits:
    #   #     cpu: 100m
    #   #     memory: 128Mi
    #
    # - name: postgres
    #   image: docker.io/library/postgres:15-alpine
    #   volumeMounts:
    #   - name: pg-data
    #     mountPath: /var/lib/postgresql/data
    #   envFrom:
    #   - secretRef:
    #       name: cal
    #   livenessProbe:
    #     exec:
    #       command: ["pg_isready", "-U", "cal"]
    #     initialDelaySeconds: 5
    #   # resources:
    #   #   limits:
    #   #     cpu: 100m
    #   #     memory: 128Mi

  volumes:
  - name: radicale-config
    hostPath:
      path: /etc/radicale
      type: DirectoryOrCreate
  - name: radicale-data
    hostPath:
      path: /var/lib/radicale
      type: DirectoryOrCreate
  - name: pg-data
    hostPath:
      path: /var/lib/fluidcal
      type: DirectoryOrCreate