How to deploy Infrahub in production
This guide walks you through deploying Infrahub in a production environment with enhanced security, reliability, and maintainability. By following these steps, you'll set up a production-ready Infrahub instance that follows industry best practices.
This page is currently under development. Please use it as a reference checklist when preparing your Infrahub environment for production deployment.
Prerequisites
Before beginning your production deployment, ensure you have:
- Selected your deployment technology (Docker or Kubernetes)
 - Verified your system meets the hardware requirements
 - Administrative access to your deployment environment
 - Decided between Community or Enterprise edition based on your support and feature needs
 - Access to your organization's identity provider (for SSO configuration)
 - A backup strategy and storage location
 
Step 1: Create a hardened configuration file
Production environments require secure configuration settings that differ from development defaults. Create a configuration file that overwrites default values to enhance security.
# Environment settings
INFRAHUB_ALLOW_ANONYMOUS_ACCESS=false
INFRAHUB_PRODUCTION=true
INFRAHUB_LOG_LEVEL=INFO
# Security keys & tokens (generate strong unique values)
INFRAHUB_SECURITY_SECRET_KEY=<strong-random-string-at-least-32-chars>
INFRAHUB_INITIAL_ADMIN_PASSWORD=<strong-admin-password>
INFRAHUB_INITIAL_ADMIN_TOKEN=<generate-uuid>  # Generate with: uuidgen
INFRAHUB_INITIAL_AGENT_TOKEN=<generate-uuid>  # Generate with: uuidgen
# Database & message broker security
INFRAHUB_BROKER_PASSWORD=<strong-broker-password>
INFRAHUB_DB_PASSWORD=<strong-database-password>
# TLS & Certificates
INFRAHUB_DB_TLS_ENABLED=true
INFRAHUB_DB_TLS_CA_FILE=/opt/ssl/ca.pem
INFRAHUB_BROKER_TLS_ENABLED=true
INFRAHUB_CACHE_TLS_ENABLED=true
Never use default passwords or tokens in production. Generate strong unique values for each environment. You can generate UUIDs using the uuidgen command or an online UUID generator.
Step 2: Install Infrahub
Install Infrahub using your chosen deployment technology, applying your hardened configuration.
For high availability deployments on Kubernetes, use the HA manifest which includes proper replication and resource requests/limits.
Navigate to https://your-server-address in your browser. You should see the Infrahub login page.
Step 3: Configure SSO (recommended)
Connect Infrahub to your organization's identity provider to enhance security and simplify user management.
Detailed SSO configuration guide./ssoStep 4: Set up database backups
Implement regular database backups to prevent data loss in case of hardware failure or other issues.
Complete backup and restore guide./database-backupTest your backup and restore process periodically to ensure it works as expected.
Operations and maintenance
Upgrading Infrahub
To upgrade to a new version of Infrahub:
- Review the release notes for breaking changes
 - Create a full backup of your database
 - Update the container images
 
Always create a backup before upgrading to ensure you can restore if needed.
Support options
Community support
- GitHub Issues: github.com/opsmill/infrahub
 - Discord Community: discord.gg/infrahub
 - Documentation: docs.infrahub.app
 
Enterprise supportEnterprise Edition
- 24/7 support with SLA guarantees
 - Dedicated support engineer
 - Professional services for deployment
 - Training and certification programs
 
Contact support@opsmill.com for enterprise support.