This guide provides instructions for deploying a full Backpack solution, ranging from development environments to production-ready Kubernetes clusters.
A complete Backpack deployment requires the following infrastructure services:
- Messaging: RabbitMQ (with Management plugin recommended).
- Object Storage: MinIO or AWS S3.
- Metadata Store: MongoDB.
- Cache: Redis.
- Identity Provider: Any OIDC-compatible provider (e.g., Keycloak, Auth0).
- Observability (Optional): OpenTelemetry Collector, Prometheus, Grafana, Tempo.
The quickest way to get a full stack running is using the provided Docker Compose configuration.
Navigate to the backpack/Compose directory and start the core services:
cd backpack/Compose
docker-compose up -dThis will spin up:
- MongoDB, Redis, RabbitMQ.
- MinIO (S3 compatible storage).
- Keycloak (OIDC Provider) with a pre-configured
backpackrealm. - OpenTelemetry stack (OTEL Collector, Prometheus, Tempo, Grafana).
Ensure your environment variables are set correctly in vars.env. For a comprehensive list of all available environment variables and their functions, refer to the Configuration Guide.
Key variables include:
BP_RABBIT_MQ_HOSTBP_MONGO_STRBP_S3_ENDPOINTOIDC_AUTHORITY
Once the infrastructure is healthy, you can start the individual Backpack microservices (Gateway, API, Processors, and Collectors) as per your requirements.
For large-scale, resilient deployments, use the official Helm charts hosted at the linus-berg/helm-charts repository.
- A functional Kubernetes cluster.
- Helm 3.x installed.
- Access to the infrastructure services (can be external or deployed within the cluster).
helm repo add backpack https://linus-berg.github.io/helm-charts/
helm repo updateYou can retrieve the default values from the chart:
# Get default values from chart
helm show values backpack/backpack > my-values.yamlUpdate the following sections in my-values.yaml:
oidc: Set yourauthorityandaudience.s3: Configure your S3 endpoint, bucket, and credentials.- Infrastructure: Point
rabbitmq,mongo, andredisto your cluster-internal or external services. - Replicas: Adjust the
replicascount for the API, Gateway, and specific Processors/Collectors based on expected load.
Install the chart into your namespace:
helm install backpack backpack/backpack -f my-values.yaml -n backpack --create-namespaceBackpack relies on OpenID Connect for securing the API and GUI.
If using the provided Keycloak configuration:
- Create a client named
backpack(Public). - Set valid redirect URIs and web origins to your GUI's URL.
- Ensure the
Administratorrole is mapped to users who require full system access.
The Integration.API requires the following settings:
OIDC_AUTHORITY: The URL of your identity provider's realm.OIDC_AUDIENCE: The client ID configured in your provider.
Ensure the bucket specified in your configuration (default: backpack) exists. If using MinIO, create the bucket via the console or CLI before starting the collectors.
The Gateway will automatically initialize the necessary collections and indexes on first startup if the provided credentials have sufficient permissions.