Helm Chart

Reference guides and how-tos for FileRise core and Pro.

Last updated Mar 5, 2026

There's an unofficial helm chart that may be used to deploy FileRise

Installation

Basic Installation

helm install filerise oci://ghcr.io/dofevine/charts/filerise

Install with custom values

helm install filerise oci://ghcr.io/dofevine/charts/filerise -f values

Remove installed release

helm delete filerise 

Configuration

Environment Variables

The chart supports any variable that's present on FileRise

env:
  TIMEZONE: "America/New_York"
  TOTAL_UPLOAD_SIZE: "10G"
  SECURE: "false"
  PERSISTENT_TOKENS_KEY: "change_me"
  SCAN_ON_START: "true"
  CHOWN_ON_START: "true"
  # HTTP_PORT: "80"
  # FR_BASE_PATH: "/files"
  # FR_PUBLISHED_URL: "http://0.0.0.0/files"
  # FR_TRUSTED_PROXIES: "10.0.0.0/8"

Storage

The chart deppends on a storage class configured on the cluster. If the storage class is not defined, the default will be used.

storage:
  keep: true # set this false if you would like to also delete the pvc when deleting the release
  storageClass: ""
  metadata:
    size: 1Gi
  users:
    size: 1Gi
  uploads:
    size: 5Gi

Ingress

The chart was tested using Kong Ingress Controller. It should work with other ingress controllers. If using subpath it's important to set FR_PUBLISHED_URL and FR_BASE_PATH

ingress:
  enabled: true
  className: kong
  annotations:
    konghq.com/preserve-host: "true" # this tells the ingress to send the host to FileRise
    konghq.com/strip-path: "true" # this removes the subpath from the requisition
  hosts:
  - host: ""
    paths:
    - path: /files/
      pathType: Prefix

Service

It's possible to connect direct to the service if not using a ingress

service:
  type: ClusterIP # or loadbalancer if there's a loadbalancer available

If not using a loadbalancer, you can connect using kubectl

kubectl port-forward service/filerise 8080:80

Full Example

Here is a working example

env:
  TIMEZONE: "America/New_York"
  TOTAL_UPLOAD_SIZE: "10G"
  SECURE: "false"
  PERSISTENT_TOKENS_KEY: "change_me"
  SCAN_ON_START: "true"
  CHOWN_ON_START: "true"
  FR_BASE_PATH: "/files/"
  FR_PUBLISHED_URL: "http://0.0.0.0/files/" # change it for server IP or dns
ingress:
  enabled: true
  className: kong
  annotations:
    konghq.com/preserve-host: "true"
    konghq.com/strip-path: "true"
  hosts:
  - host: "" # add dns host if necessary
    paths:
    - path: /files/
      pathType: Prefix

Deployment suggestions

  • Change PERSISTENT_TOKENS_KEY
  • Define resource limits and requests
  • Use a reliable StorageClass
  • Configure proper backups for persistent volumes

Full Configuration Table

Below are the main configurable parameters available in values.yaml.

ParameterDescriptionDefault
replicaCountNumber of Deployment replicas1
image.repositoryContainer image repositoryerror311/filerise-docker
image.tagImage tagv3.5.2
image.pullPolicyImage pull policyIfNotPresent
imagePullSecretsSecrets for private repository[]
serviceAccount.createCreate a ServiceAccountfalse
serviceAccount.nameCustom name""
serviceAccount.automountAutomount API credentialstrue
podAnnotationsExtra pod annotations{}
podLabelsExtra pod labels{}
service.typeKubernetes Service typeClusterIP
service.portService port8080
ingress.enabledEnable Ingressfalse
ingress.classNameIngress class""
ingress.hostsConfigured hosts""
ingress.tlsTLS configuration[]
httpRoute.enabledEnable HTTPRoutefalse
httpRoute.annotationsAnnotations{}
httpRoute.parentRefsTarget Gateway{}
httpRoute.hostnamesHostnames[]
httpRoute.rulesRouting rules{}
autoscaling.enabledEnable HPAfalse
autoscaling.minReplicasMinimum replicas1
autoscaling.maxReplicasMaximum replicas10
autoscaling.targetCPUUtilizationPercentageCPU utilization target80
autoscaling.targetMemoryUtilizationPercentageMemory utilization target2Gi
volumeslist of volumes. See values.yaml[]
storage.keepEnable helm resource policy keeptrue
storage.storageClassStorage Class name. If empty will use cluster default""
storage.metadata.sizeSize of pvc used for metadata[]
storage.users.sizeSize of pvc used for metadata[]
storage.uploads.sizeSize of pvc used for metadata[]
nodeselectorDefinition of the node that the pod will run. See k8s docs{}
affinityDefinition of pod affinity and anti-affity. See k8s docs{}