6c17c5a492579e15bd4145a123fc6f42348c3edb
Introduces an `x-infrahub-config` extension field to the docker-compose file. This block aggregates all Infrahub environment variables (AWS, DB, Broker, Cache, etc.) into a reusable anchor (`&infrahub_config`). This change allows for: - Centralized management of configuration options. - Improved visibility of available settings matching the official documentation. - Easier injection of these variables into dependent services via the new anchor.
Infrahub Deployment
GitOps deployment for Infrahub infrastructure data management platform with Tailscale HTTPS access via Komodo.
Prerequisites
Generate Secrets
# Generate admin token and secret key (UUID format)
uuidgen # Example: 06438eb2-8019-4776-878c-0941b1f1d1ec
uuidgen # Example: 327f747f-efac-42be-9e73-999f08f86b92
Tailscale Auth Key
Generate a reusable auth key from https://login.tailscale.com/admin/settings/keys
Deployment with Komodo
1. Add Git Provider (if using private repo)
In Komodo UI: Settings → Git Providers → Add your Gitea instance credentials.
2. Create Stack
- Navigate to Stacks → New Stack
- Configure:
- Name:
infrahub - Server: Select your target server
- Source: Git Repo
- Git Provider:
gitea.arnodo.fr(or your provider) - Repo:
Damien/infrahub-deployment - Branch:
main - File Paths:
docker-compose.yml
- Name:
3. Configure Environment Variables
| Variable | Description | Example |
|---|---|---|
TS_AUTHKEY |
Tailscale auth key (reusable) | tskey-auth-xxx |
VERSION |
Infrahub version (optional) | latest or 1.5.0 |
NEO4J_PASSWORD |
Neo4j database password | secret |
RABBITMQ_USER |
RabbitMQ username | infrahub |
RABBITMQ_PASSWORD |
RabbitMQ password | secret |
INFRAHUB_ADMIN_TOKEN |
Initial admin API token | 06438eb2-... |
INFRAHUB_SECRET_KEY |
Security secret key | 327f747f-... |
INFRAHUB_ALLOW_ANONYMOUS |
Allow anonymous access | false |
INFRAHUB_LOG_LEVEL |
Log level | INFO |
Tip
: Use Komodo's secret variables (marked with 🔒) for sensitive values.
4. Deploy
Click Deploy in Komodo.
GitOps Workflow
Auto-deploy on Git Push
- In Komodo, go to your stack settings
- Enable Auto Deploy on push
- Copy the webhook URL
- Add it to your Gitea repository: Settings → Webhooks
Access
Once deployed: https://infrahub.taila5ad8.ts.net
Default credentials:
- Username:
admin - Password:
infrahub
Important
: Change the default password after first login!
Services
| Service | Description | Image |
|---|---|---|
tailscale |
HTTPS ingress via Tailscale | tailscale/tailscale |
database |
Neo4j graph database | neo4j:5.23-community |
cache |
Redis cache | redis:7-alpine |
message-queue |
RabbitMQ message broker | rabbitmq:3-management-alpine |
infrahub-server |
API + UI | registry.opsmill.io/opsmill/infrahub |
task-worker |
Background task worker | registry.opsmill.io/opsmill/infrahub |
Upgrading
- Update the
VERSIONenvironment variable in Komodo - Redeploy the stack
After upgrading, run the database migrations:
docker exec -it infrahub-server infrahub db migrate
docker exec -it infrahub-server infrahub db update-core-schema
Backup
Neo4j Database
docker exec -it infrahub-database neo4j-admin database backup --to-path=/backups neo4j
docker cp infrahub-database:/backups/neo4j-<timestamp>.backup ./
Repository Structure
infrahub-deployment/
├── docker-compose.yml # Stack definition (relative paths)
├── serve-config.json # Tailscale HTTPS serve config
└── README.md
References
Description
GitOps deployment for Infrahub infrastructure data management platform with Tailscale HTTPS access via Komodo