Installing Big Picture
This guide covers installing and configuring Big Picture for different deployment models.
Deployment Models
Section titled “Deployment Models”Big Picture supports three primary deployment models:
- SaaS (Vendor-Hosted) — Multi-tenant service operated by the vendor
- Vendor Self-Hosted — Single-tenant deployment in vendor infrastructure
- Local License Server — Air-gapped or regulated customer deployments
Choose the model that fits your requirements.
SaaS (Vendor-Hosted)
Section titled “SaaS (Vendor-Hosted)”If you’re using Big Picture as a SaaS service, installation is handled by your vendor. You’ll receive:
- Control plane endpoint URL
- API credentials or OAuth configuration
- Tenant ID and access scope
Configuration:
- Obtain your API credentials from your vendor
- Configure your base URL:
https://api.bigpicture.io(or vendor-provided endpoint) - Set up OAuth2 client credentials or service account authentication
- Begin using the API
No server installation required — the vendor manages infrastructure, signing keys, and artifact storage.
Vendor Self-Hosted
Section titled “Vendor Self-Hosted”Self-host Big Picture in your own infrastructure for full control over keys and data.
Requirements
Section titled “Requirements”- Kubernetes cluster (recommended) or VM infrastructure
- PostgreSQL database (version 13+)
- Object storage (GCS, S3, MinIO, or filesystem)
- Key management (Vault, HSM, or file-backed keys)
Installation Steps
Section titled “Installation Steps”1. Prepare Infrastructure
Section titled “1. Prepare Infrastructure”Database:
# Create PostgreSQL databasecreatedb bigpicture
# Run migrations (provided by Big Picture)bigpicture migrate --database-url "postgresql://user:pass@host/bigpicture"Storage: Configure object storage for artifacts. Options:
- Google Cloud Storage (GCS)
- Amazon S3
- MinIO (self-hosted S3-compatible)
- Local filesystem (development only)
Key Management: Set up signing key storage:
- Cloud KMS (GCP, AWS)
- HashiCorp Vault
- Hardware Security Module (HSM)
- File-backed keys (development/testing only)
2. Configure Big Picture
Section titled “2. Configure Big Picture”Create a configuration file or set environment variables:
# Deployment modeexport BP_MODE=self_hosted
# Databaseexport BP_DATABASE_URL="postgresql://user:pass@host/bigpicture"
# Object storageexport BP_STORAGE_TYPE=s3export BP_STORAGE_BUCKET=bigpicture-artifactsexport BP_STORAGE_REGION=us-east-1
# Key managementexport BP_SIGNER_TYPE=vaultexport BP_SIGNER_VAULT_ADDR=https://vault.example.comexport BP_SIGNER_KEY_ID=bigpicture-signing-key
# Authenticationexport BP_AUTH_PROVIDER=oidcexport BP_OIDC_ISSUER=https://accounts.google.comexport BP_OIDC_CLIENT_ID=your-client-id3. Deploy the Binary
Section titled “3. Deploy the Binary”Kubernetes:
# Deploy using Helm chart (if available)helm install bigpicture ./helm-chart \ --set config.databaseUrl=$BP_DATABASE_URL \ --set config.storageType=$BP_STORAGE_TYPE
# Or use raw manifestskubectl apply -f k8s/VM Deployment:
# Download and extract binarywget https://releases.bigpicture.io/bigpicture-latest.tar.gztar xzf bigpicture-latest.tar.gz
# Run as systemd servicesudo cp bigpicture /usr/local/bin/sudo cp bigpicture.service /etc/systemd/system/sudo systemctl enable bigpicturesudo systemctl start bigpicture4. Verify Installation
Section titled “4. Verify Installation”Check health endpoint:
curl https://your-bigpicture-instance.com/healthTest API access:
curl -H "Authorization: Bearer $BP_API_TOKEN" \ https://your-bigpicture-instance.com/v1/productsConfiguration Options
Section titled “Configuration Options”Note: Feature flags are not available in V1. These features are enabled by default based on deployment mode. Managed artifacts, snapshots, and licensing are core features that are always available when the deployment mode supports them.
Performance:
BP_WORKER_THREADS=4— HTTP worker threadsBP_DB_POOL_SIZE=10— Database connection pool size
See Configuration Options for complete reference.
Local License Server (Air-Gapped)
Section titled “Local License Server (Air-Gapped)”For regulated customers requiring air-gapped operation, deploy a local license server.
Requirements
Section titled “Requirements”- LAN-accessible server (VM or container)
- Local signing key (issued by vendor)
- Optional: Outbound entitlement sync capability
Installation Steps
Section titled “Installation Steps”1. Obtain Mirror Credentials
Section titled “1. Obtain Mirror Credentials”Request mirror credentials from your vendor:
- Mirror credential token
- Allowed channels
- Vendor base URL (for optional sync)
2. Deploy License Server Binary
Section titled “2. Deploy License Server Binary”The license server uses the same binary as the control plane, configured in license-server mode:
# Download binarywget https://releases.bigpicture.io/bigpicture-latest.tar.gztar xzf bigpicture-latest.tar.gz
# Configure license server modeexport BP_MODE=license_serverexport BP_LICENSE_SERVER_TENANT_ID=your-tenant-idexport BP_LICENSE_SERVER_SIGNING_KEY_PATH=/path/to/local-key.pemexport BP_LICENSE_SERVER_VENDOR_URL=https://vendor-bigpicture-instance.com # Optional3. Configure Local Storage
Section titled “3. Configure Local Storage”License servers require minimal storage for lease tokens:
export BP_LICENSE_SERVER_STORAGE_PATH=/var/lib/bigpicture/licensesmkdir -p $BP_LICENSE_SERVER_STORAGE_PATH4. Start License Server
Section titled “4. Start License Server”# Run as servicesudo systemctl start bigpicture-license-server
# Verify it's runningcurl http://localhost:8080/healthClients configured to use the local license server will request leases from this endpoint instead of the cloud service.
Optional: Outbound Entitlement Sync
Section titled “Optional: Outbound Entitlement Sync”If your environment allows outbound HTTPS, configure periodic entitlement sync:
export BP_LICENSE_SERVER_SYNC_ENABLED=trueexport BP_LICENSE_SERVER_SYNC_INTERVAL=1hexport BP_LICENSE_SERVER_VENDOR_CREDENTIAL=your-mirror-credentialThe license server will periodically sync entitlement changes from the vendor while remaining outbound-only.
Post-Installation
Section titled “Post-Installation”After installation:
- Create your first product — See Creating Your First Release
- Configure authentication — Set up OAuth2 or API keys for CI/CD
- Set up artifact storage — Configure managed storage or external references
- Import licenses — See Importing Your First License
Troubleshooting
Section titled “Troubleshooting”Database connection errors: Verify PostgreSQL is running and accessible. Check connection string format.
Key management errors: Ensure signing keys are accessible and have correct permissions. For cloud KMS, verify IAM roles.
Storage errors: Verify object storage credentials and bucket permissions. Test with a simple upload.
Authentication failures: Check OIDC issuer URL and client configuration. Verify token audience matches your deployment.
Missing Information
Section titled “Missing Information”The following areas need additional documentation or clarification:
- Helm chart details — Specific Helm chart values and deployment examples
- VM installer — Details on VM-based installation packages mentioned in distribution.md
- Mirror relay setup — Step-by-step guide for setting up vendor-controlled mirrors (separate from license server)
- Key rotation procedures — How to rotate signing keys without breaking existing signatures
- Backup and recovery — Database backup strategies and disaster recovery procedures
- Monitoring and observability — Recommended metrics, logging, and alerting setup