Install Filestash on Kubernetes using Helm
Install the Helm chart:
NAME: filestash
LAST DEPLOYED: Wed Apr 1 03:02:44 2026
NAMESPACE: default
STATUS: deployed
REVISION: 1
DESCRIPTION: Install complete
~/$ kubectl wait --for=condition=available deploy/filestash --timeout=120s
deployment.apps/filestash condition met
~/$ helm test filestash
NAME: filestash
LAST DEPLOYED: Wed Apr 1 03:02:44 2026
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: filestash-test
Last Started: Wed Apr 1 03:03:23 2026
Last Completed: Wed Apr 1 03:03:27 2026
Phase: Succeeded
Expose it with TLS via cert-manager:
--set ingress.enabled=true \
--set ingress.host=204-168-158-47.nip.io \
--set ingress.tls=true
Release "filestash" has been upgraded. Happy Helming!
NAME: filestash
LAST DEPLOYED: Wed Apr 1 03:06:08 2026
NAMESPACE: default
STATUS: deployed
REVISION: 2
DESCRIPTION: Upgrade complete
For production, you can manage configuration as a ConfigMap. Configure your instance through the admin console, extract the resulting config.json, then use it across all replicas:
~/$ helm upgrade filestash https://downloads.filestash.app/upload/filestash-helm.tgz \
--set-file config=config.json \
--set ingress.enabled=true \
--set ingress.host=204-168-158-47.nip.io \
--set ingress.tls=true
Release "filestash" has been upgraded. Happy Helming!
NAME: filestash
LAST DEPLOYED: Thu Apr 2 02:24:59 2026
NAMESPACE: default
STATUS: deployed
REVISION: 3
DESCRIPTION: Upgrade complete
To learn more about the structure of the config file, see the configuration guide.
Uninstall:
release "filestash" uninstalled
Note for Ingress Configuration: make sure your ingress is as transparent as possible. Some ingress providers (like traefik and nginx) enforce 60s timeout which will break large uploads or downloads. Also ensure your ingress does not try to do any kind of clever caching / buffering so the upload progress users see reflects the actual transfer to the backend, not the proxy absorbing data. The Helm chart handles this automatically for nginx ingress.