Advantage of Helm
Here are the key advantages of using Helm over raw Kubernetes manifests for your homelab setup:
1. Templating & Parameterization
# values.yaml (Helm)
service:
type: NodePort
port: 9000
nodePort: 30777
# vs hardcoded manifest
spec:
type: NodePort
ports:
- port: 9000
nodePort: 30777- Benefit: Change settings without modifying manifests
- Use Case: Easily switch between NodePort/LoadBalancer for different services
2. Version Management
# Track releases
helm list -n portainer
NAME NAMESPACE REVISION STATUS CHART APP VERSION
portainer portainer 1 deployed portainer-2.0 2.16.0
# Rollback
helm rollback portainer 1 -n portainer- Benefit: Atomic upgrades/rollbacks
- Use Case: Safely update Nextcloud without downtime
3. Dependency Management
# Chart.yaml
dependencies:
- name: postgresql
version: 11.6.12
repository: https://charts.bitnami.com/bitnami- Benefit: Auto-install required databases/caches
- Use Case: Paperless-ngx with automatic PostgreSQL deployment
4. Code Reuse
# Reusable across clusters
helm install paperless ./paperless-chart \
--set persistence.size=20Gi \
--set ingress.enabled=true- Benefit: Same chart works for dev/staging/prod
- Use Case: Deploy Vaultwarden to multiple clusters
5. Community Charts
# One-command installs
helm install redis bitnami/redis \
--set architecture=standalone \
--set auth.password=secret- Benefit: 10,000+ pre-configured apps
- Use Case: Quickly add Redis cache for Nextcloud
6. Configuration Validation
# Test template rendering
helm template ./chart --values values.yaml --debug
# Lint charts
helm lint ./chart- Benefit: Catch errors before deployment
- Use Case: Validate Bookstack configuration pre-deployment
7. Release Hooks
annotations:
"helm.sh/hook": pre-install- Benefit: Run jobs before/after install
- Use Case:
- Backup database pre-upgrade
- Run migrations post-install
Homelab-Specific Advantages
| Feature | Benefit for You | Example |
|---|---|---|
| Single Source | Manage all apps in one place | Portainer + Apps in 1 chart |
| DRY Principle | Reduce YAML duplication | Shared ingress configuration |
| Secret Management | Integrate with Vault/SealedSecrets | Secure Vaultwarden secrets |
| Lifecycle Mgmt | Unified install/upgrade process | Update all apps consistently |
When to Use Raw Manifests
- Simple single-resource deployments
- Learning Kubernetes fundamentals
- Edge cases requiring custom CRDs
- Temporary debugging environments
For your stack (Nextcloud, Vaultwarden, Paperless-ngx), Helm provides:
- Nextcloud: Easy MariaDB/Redis dependency management
- Vaultwarden: Simple secret injection
- Paperless-ngx: Pre-configured OCR/Redis setup
Would you like me to show a Helm vs raw manifest comparison for one of your specific applications?