examples/kubernetes/firecrawl-helm/README.md
This chart deploys Firecrawl on Kubernetes with:
apiworker (queue-worker)extract-workernuq-workernuq-prefetch-workerplaywright-serviceredisnuq-postgresrabbitmqghcr.io/firecrawl/...).winkkgmbh images.Official Firecrawl images are fine for x86. Use winkk images only when ARM support is needed.
Use values.yaml plus one overlay.
Important fields:
secret.* for API keys and sensitive values.config.extra / secret.extra for custom env vars.image.dockerSecretEnabled and imagePullSecrets for private registries.resources.enabled enables/disables all container resource requests/limits.
Default: false.rabbitmq.enabled, extractWorker.enabled, nuqPrefetchWorker.enabled to toggle components.Render:
HELM_NO_PLUGINS=1 helm template firecrawl . \
-f values.yaml \
-f overlays/prod/values.yaml \
-n firecrawl
Install/upgrade:
HELM_NO_PLUGINS=1 helm upgrade firecrawl . \
-f values.yaml \
-f overlays/prod/values.yaml \
-n firecrawl \
--install \
--create-namespace
If your cluster is x86-only and you want official images, override repositories:
HELM_NO_PLUGINS=1 helm upgrade firecrawl . \
-f values.yaml \
-f overlays/prod/values.yaml \
--set image.repository=ghcr.io/firecrawl/firecrawl \
--set playwright.repository=ghcr.io/firecrawl/playwright-service \
--set nuqPostgres.image.repository=ghcr.io/firecrawl/nuq-postgres \
-n firecrawl \
--install \
--create-namespace
Run from examples/kubernetes/firecrawl-helm:
docker buildx create --name multiarch --use --bootstrap
docker buildx build --platform linux/amd64,linux/arm64 --push \
-t docker.io/winkkgmbh/firecrawl:latest \
../../../apps/api
docker buildx build --platform linux/amd64,linux/arm64 --push \
-t docker.io/winkkgmbh/firecrawl-playwright:latest \
../../../apps/playwright-service-ts
docker buildx build --platform linux/amd64,linux/arm64 --push \
-t docker.io/winkkgmbh/nuq-postgres:latest \
../../../apps/nuq-postgres
HELM_NO_PLUGINS=1 helm package . --destination /tmp/helm-packages
HELM_NO_PLUGINS=1 helm push /tmp/helm-packages/firecrawl-0.2.0.tgz oci://registry-1.docker.io/winkkgmbh
Install from OCI:
HELM_NO_PLUGINS=1 helm upgrade --install firecrawl oci://registry-1.docker.io/winkkgmbh/firecrawl \
--version 0.2.0 \
-n firecrawl --create-namespace \
-f values.yaml \
-f overlays/prod/values.yaml
kubectl port-forward svc/firecrawl-firecrawl-api 3002:3002 -n firecrawl
helm uninstall firecrawl -n firecrawl