Configuration
Hibou is configured entirely via environment variables with the HIBOU_ prefix.
Core Settings
Section titled “Core Settings”| Variable | Default | Description |
|---|---|---|
HIBOU_HOST |
0.0.0.0 |
Listen address |
HIBOU_PORT |
8585 |
Listen port |
HIBOU_DATABASE_URL |
postgres://hibou:hibou@localhost:5432/hibou?sslmode=disable |
PostgreSQL connection string |
HIBOU_LOG_LEVEL |
info |
Log level: debug, info, warn, error |
HIBOU_LOG_FORMAT |
console |
Log format: console or json |
HIBOU_TRIVY_URL |
http://localhost:4954 |
Trivy server URL |
HIBOU_OSV_URL |
https://api.osv.dev |
OSV advisory API base URL |
HIBOU_CACHE_TTL |
6h |
Advisory cache TTL (e.g., 6h, 24h, 30m) |
HIBOU_SESSION_SECRET |
change-me-in-production |
Secret for session cookie encryption |
Forge Configuration
Section titled “Forge Configuration”Forges use an indexed configuration pattern inspired by Coder. Each forge is identified by its index number.
See Forge Providers for detailed configuration.
| Variable Pattern | Description |
|---|---|
HIBOU_FORGE_N_TYPE |
Forge type: github, forgejo, gitea, or gitlab |
HIBOU_FORGE_N_ID |
Unique identifier for this forge instance |
HIBOU_FORGE_N_URL |
Base URL (required for Forgejo/GitLab) |
HIBOU_FORGE_N_CLIENT_ID |
OAuth2 client ID |
HIBOU_FORGE_N_CLIENT_SECRET |
OAuth2 client secret |
HIBOU_FORGE_N_WEBHOOK_SECRET |
Shared secret for webhook signature verification |
Where N is a zero-based index (0, 1, 2, …).
Example .env
Section titled “Example .env”HIBOU_HOST=0.0.0.0HIBOU_PORT=8585HIBOU_DATABASE_URL=postgres://hibou:hibou@localhost:5432/hibou?sslmode=disableHIBOU_LOG_LEVEL=debugHIBOU_SESSION_SECRET=my-secret-key
# Forge 0: Local ForgejoHIBOU_FORGE_0_TYPE=forgejoHIBOU_FORGE_0_ID=forgejo-localHIBOU_FORGE_0_URL=http://localhost:3030HIBOU_FORGE_0_CLIENT_ID=abc123HIBOU_FORGE_0_CLIENT_SECRET=secret456HIBOU_FORGE_0_WEBHOOK_SECRET=whsec_xyz
# Forge 1: GitHub.comHIBOU_FORGE_1_TYPE=githubHIBOU_FORGE_1_ID=github-comHIBOU_FORGE_1_CLIENT_ID=gh_client_idHIBOU_FORGE_1_CLIENT_SECRET=gh_client_secretHIBOU_FORGE_1_WEBHOOK_SECRET=gh_webhook_secret