Chevereto - Install Notes
Moved and hosted all media used by my website here.
Issues or error encountered using chevereto official docker image. Using nfs-csi, might not encounter this issue in using different CSI.
- Permission error accessing /var/www/html/
1# kube exec to the pod
2$ chown -R www-data:www-data /var/www/html
- Cannot create folder /var/www/html/images/_assets/
1# kube exec to the pod
2$ mkdir -p /var/www/html/images/_assets/
3$ chown -R www-data:www-data /var/www/html/images/
config.yaml
1apiVersion: v1
2data:
3 CHEVERETO_DB_HOST: db_host
4 CHEVERETO_DB_USER: root
5 CHEVERETO_DB_PASS: verystrongpassword
6 CHEVERETO_DB_PORT: '3306'
7 CHEVERETO_DB_NAME: chevereto
8 CHEVERETO_HOSTNAME: chevereto.marktaguiad.dev
9 CHEVERETO_HOSTNAME_PATH: /
10 CHEVERETO_HTTPS: '0'
11 CHEVERETO_ASSET_STORAGE_TYPE: local
12 CHEVERETO_ASSET_STORAGE_URL: http://chevereto.marktaguiad.dev/images/_assets/
13 CHEVERETO_ASSET_STORAGE_BUCKET: /var/www/html/images/_assets/
14 CHEVERETO_MAX_POST_SIZE: 2G
15 CHEVERETO_MAX_UPLOAD_SIZE: 2G
16kind: ConfigMap
17metadata:
18 creationTimestamp: null
19 labels:
20 app: chevereto
21 name: chevereto-config
deploy.yaml
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 labels:
5 app: chevereto
6 name: chevereto
7spec:
8 replicas: 1
9 selector:
10 matchLabels:
11 app: chevereto
12 strategy:
13 type: Recreate
14 template:
15 metadata:
16 labels:
17 app: chevereto
18 spec:
19 affinity:
20 nodeAffinity:
21 requiredDuringSchedulingIgnoredDuringExecution:
22 nodeSelectorTerms:
23 - matchExpressions:
24 - key: kubernetes.io/os
25 operator: In
26 values:
27 - linux
28 preferredDuringSchedulingIgnoredDuringExecution:
29 - weight: 15
30 preference:
31 matchExpressions:
32 - key: core
33 operator: In
34 values:
35 - "4"
36 - weight: 10
37 preference:
38 matchExpressions:
39 - key: core
40 operator: In
41 values:
42 - "3"
43 # - weight: 10
44 # preference:
45 # matchExpressions:
46 # - key: kubernetes.io/role
47 # operator: In
48 # values:
49 # - 'worker'
50 - weight: 5
51 preference:
52 matchExpressions:
53 - key: disk
54 operator: In
55 values:
56 - "ssd"
57 containers:
58 - image: chevereto/chevereto:4.1.4
59 name: chevereto
60 ports:
61 - containerPort: 80
62 resources: {}
63 volumeMounts:
64 - mountPath: /var/www/html/images/
65 subPath: data
66 name: chevereto-data
67 envFrom:
68 - configMapRef:
69 name: chevereto-config
70 initContainers:
71 - name: volume-permission
72 image: ghcr.io/chevereto/chevereto:4.1.4
73 command:
74 - sh
75 - -c
76 - "mkdir -p /var/www/html/images/_assets/ && chown -R www-data:www-data /var/www/html/images/"
77 volumeMounts:
78 - name: chevereto-data
79 subPath: data
80 mountPath: /var/www/html/images/
81 securityContext:
82 runAsUser: 0
83
84 restartPolicy: Always
85 volumes:
86 - name: chevereto-data
87 persistentVolumeClaim:
88 claimName: chevereto-pvc
89status: {}
90
service.yaml
1apiVersion: v1
2kind: Service
3metadata:
4 labels:
5 app: chevereto
6 name: chevereto
7spec:
8 ports:
9 - name: "80"
10 port: 80
11 targetPort: 80
12 selector:
13 app: chevereto
14status:
15 loadBalancer: {}
ingress.yaml
1---
2apiVersion: networking.k8s.io/v1
3kind: Ingress
4metadata:
5 name: chevereto-ingress
6 annotations:
7 # kubernetes.io/ingress.class: "nginx"
8 cert-manager.io/cluster-issuer: "letsencrypt-prod"
9 nginx.ingress.kubernetes.io/proxy-body-size: 1000m
10spec:
11 ingressClassName: nginx
12 tls:
13 - hosts:
14 - chevereto.marktaguiad.dev
15 secretName: chevereto-tls
16 rules:
17 - host: chevereto.marktaguiad.dev
18 http:
19 paths:
20 - pathType: Prefix
21 path: /
22 backend:
23 service:
24 name: chevereto
25 port:
26 number: 80