55836f2e3b68e21846461f1c6c0263dc0f0f94e3
Remove the `!override` custom YAML tag from the `ports` configuration for the `message-queue`, `database`, and `infrahub-server` services. This ensures compatibility with standard Docker Compose parsers while maintaining the behavior of disabling port mappings by providing an empty list.
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