- Added debug mode, structured ConfigMap pattern, and README to all charts - Migrated all flat-structure charts to hierarchical values under chartname key - Fixed templates to use correct hierarchical paths - Renamed helm-rustical key to rustical, added HPA support - Fixed ingress YAML parsing (oxicloud), nested env vars (rustical) - Pushed all normalized charts to OCI registry as 1.0.0+ and updated ArgoCD apps |
||
|---|---|---|
| .. | ||
| templates | ||
| Chart.yaml | ||
| README.md | ||
| values.yaml | ||
dokuwiki
A Helm chart for DokuWiki, a simple to use and highly versatile wiki software.
TL;DR
helm install dokuwiki oci://git.roboces.dev/catalin/fukuops/dokuwiki --version 1.0.2 -n apps-roboces
Prerequisites
- Kubernetes 1.19+
- Helm 3+
- A NFS storage class (default:
truenas-nfs-csi)
Configuration
All values are nested under the dokuwiki: key. Example:
dokuwiki:
persistence:
enabled: true
storageClass: "truenas-nfs-csi"
accessMode: ReadWriteMany
size: 2Gi
service:
type: LoadBalancer
port: 8004
ingress:
enabled: true
hosts:
- host: wiki.roboces.dev
paths:
- path: /
pathType: Prefix
config:
php:
timezone: Europe/Madrid
memoryLimit: 512M
uploadLimit: 128M
Values Reference
| Key | Type | Default | Description |
|---|---|---|---|
dokuwiki.replicaCount |
int | 1 |
Number of replicas |
dokuwiki.image.repository |
string | dokuwiki/dokuwiki |
Image repository |
dokuwiki.image.pullpolicy |
string | IfNotPresent |
Image pull policy |
dokuwiki.image.tag |
string | .Chart.AppVersion |
Image tag |
dokuwiki.service.type |
string | LoadBalancer |
Service type |
dokuwiki.service.port |
int | 8004 |
Service port |
dokuwiki.service.targetPort |
int | 8080 |
Container port |
dokuwiki.ingress.enabled |
bool | true |
Enable ingress |
dokuwiki.ingress.className |
string | "" |
Ingress class |
dokuwiki.ingress.hosts[0].host |
string | wiki.roboces.dev |
Ingress hostname |
dokuwiki.persistence.enabled |
bool | true |
Enable persistence |
dokuwiki.persistence.storageClass |
string | truenas-nfs-csi |
Storage class |
dokuwiki.persistence.accessMode |
string | ReadWriteMany |
Access mode |
dokuwiki.persistence.size |
string | 2Gi |
PVC size |
dokuwiki.config.php.timezone |
string | Europe/Madrid |
PHP timezone |
dokuwiki.config.php.memoryLimit |
string | 512M |
PHP memory limit |
dokuwiki.config.php.uploadLimit |
string | 128M |
PHP upload limit |
dokuwiki.debug.enabled |
bool | false |
Enable debug mode (adds init container for troubleshooting) |
dokuwiki.resources |
object | {} |
Container resources |
dokuwiki.livenessProbe |
object | (see values.yaml) | Liveness probe |
dokuwiki.readinessProbe |
object | (see values.yaml) | Readiness probe |
ConfigMap
The chart creates a ConfigMap with PHP environment variables:
PHP_TIMEZONEPHP_MEMORYLIMITPHP_UPLOADLIMIT
Persistence
The chart creates a PVC named dokuwiki-data. The PVC uses the truenas-nfs-csi storage class by default with ReadWriteMany access mode.
Troubleshooting
Debug Mode
Enable debug mode to troubleshoot issues by adding an init container with a shell:
dokuwiki:
debug:
enabled: true
This adds an alpine:3.19 init container with sleep infinity that mounts all volumes and inherits env vars. You can exec into it to inspect the environment:
kubectl exec -it <pod-name> -c debug -- sh
When debug mode is enabled, liveness and readiness probes are disabled to prevent restarts.
Pod not starting
kubectl get pvc -n apps-roboces -l app.kubernetes.io/name=dokuwiki
Check logs
kubectl logs dokuwiki-0 -n apps-roboces