- Install Longhorn, Ref: K8s PostgreSQL Longhorn
- TLS Ingress, Ref: K8s Traefik cert-manager DNS01 TLS
git clone https://github.com/jerryshell/k8s-alist-longhorn.git
cd k8s-alist-longhorn
kubectl apply -f k8s/
Replace pan.jerryshell.eu.org
with your own domain
export HOST=pan.jerryshell.eu.org
cat k8s/ingress/ingress.yaml | envsubst | kubectl apply -f -
Replace pan.jerryshell.eu.org
with your own domain
export HOST=pan.jerryshell.eu.org
cat k8s/ingress/tls-ingress.yaml | envsubst | kubectl apply -f -
kubectl delete --ignore-not-found=true -f k8s/ -f k8s/ingress/
Change alist-pvc Access Mode to ReadWriteMany
kubectl get pvc alist-pvc -o jsonpath='{.spec.volumeName}'
# pvc-UUID
kubectl patch pv pvc-UUID -p '{"spec":{"persistentVolumeReclaimPolicy":"Retain"}}'
kubectl scale --replicas=0 deployment alist
kubectl delete pvc alist-pvc
kubectl patch pv pvc-UUID -p '{"spec":{"claimRef":{"uid":""}}}'
kubectl patch pv pvc-UUID -p '{"spec":{"accessModes":["ReadWriteMany"]}}'
# Change alist-pvc.yaml accessModes to ReadWriteMany
vim alist-pvc.yaml
kubectl apply -f alist-pvc.yaml
kubectl patch pv pvc-UUID -p '{"spec":{"persistentVolumeReclaimPolicy":"Delete"}}'
kubectl scale --replicas=1 deployment alist
If using nohostname-ingress.yaml
kubectl exec -it alist-XXX -- bash
vi data/config.json
"site_url": "/alist"