Deploy Homarr on Kubernetes — a modern application dashboard with real-time
status monitoring, Docker/Kubernetes integration, and a drag-and-drop widget editor. Connects to media
servers (Plex, Jellyfin), *arr apps (Sonarr, Radarr), and many other services.
encryption.existingSecret protects all integration credentials — losing the key invalidates every integration
Homarr uses SECRET_ENCRYPTION_KEY to encrypt the API keys and passwords stored for every dashboard integration
(Plex, Sonarr, Radarr, etc.). Without encryption.existingSecret, a reinstall generates a new key and permanently
invalidates all saved integration credentials. Always provide a stable encryption.existingSecret before the first
deployment.
Key Features
Embedded Redis — no separate Redis required (external Redis optional for multi-instance)
Three database backends — SQLite (default), PostgreSQL, MySQL with auto-detection
Integration encryption — all service credentials encrypted via SECRET_ENCRYPTION_KEY
Kubernetes workload discovery — optional live workload status in the dashboard
Auth providers — local credentials, LDAP, and OIDC
Database-aware backup — tar for SQLite (/appdata), pg_dump/mysqldump for SQL databases
Homarr includes embedded Redis — no external Redis required for single-instance deployments
Homarr ships with an embedded Redis process. External Redis is only needed if you are running multiple Homarr replicas
sharing a common cache (requires PostgreSQL or MySQL, not SQLite).
Parameter
Type
Default
Description
redis.external
boolean
false
Use an external Redis instead of the embedded one.
redis.host
string
""
External Redis hostname.
redis.port
integer
6379
External Redis port.
redis.existingSecret
string
""
Existing secret with external Redis password.
redis.existingSecretKey
string
redis-password
Key for the password in the existing secret.
Persistence
Parameter
Type
Default
Description
persistence.enabled
boolean
true
Enable PVC for /appdata (SQLite DB + dashboard config + themes).
persistence.size
string
1Gi
PVC size.
persistence.storageClass
string
""
StorageClass for the PVC.
persistence.existingClaim
string
""
Use an existing PVC.
Service and Ingress
Parameter
Type
Default
Description
service.type
string
ClusterIP
Service type.
service.port
integer
7575
Service port (non-standard).
service.ipFamilyPolicy
string
null
Service IP family policy.
service.ipFamilies
array
[]
Ordered Service IP families.
ingress.enabled
boolean
false
Enable an Ingress resource.
ingress.ingressClassName
string
""
Ingress class name.
ingress.annotations
object
{}
Ingress annotations.
ingress.hosts
array
[]
Host and path rules.
ingress.tls
array
[]
TLS configuration.
Gateway API
Use gatewayAPI.enabled to render a native Kubernetes
Gateway APIHTTPRoute for Homarr. Ingress stays disabled by default and can coexist
with the route when a migration needs both objects.
Homarr’s Service supports Kubernetes
dual-stack networking through optional
service.ipFamilyPolicy and service.ipFamilies values. Defaults omit both fields so existing installs inherit cluster
defaults.
service: ipFamilyPolicy: PreferDualStack
Backup
Database-aware backup: SQLite archives the full /appdata directory (tar). PostgreSQL uses pg_dump.
MySQL uses mysqldump.
Parameter
Type
Default
Description
backup.enabled
boolean
false
Enable scheduled S3 backup CronJob.
backup.schedule
string
"0 3 * * *"
Cron schedule.
backup.archivePrefix
string
homarr
Prefix for backup archive filenames.
backup.s3.endpoint
string
""
S3-compatible endpoint URL.
backup.s3.bucket
string
""
Target bucket name.
backup.s3.existingSecret
string
""
Existing secret with S3 credentials.
backup.database.postgresDumpArgs
string
""
Extra arguments for pg_dump.
backup.database.mysqlDumpArgs
string
--single-transaction ...
Extra arguments for mysqldump.
extraManifests
array
[]
Extra Kubernetes manifests.
External Secrets
Homarr can render an External Secrets OperatorExternalSecret that projects
SECRET_ENCRYPTION_KEY and AUTH_SECRET into the Kubernetes Secret configured by encryption.existingSecret.