Configuration
Oore is configured through environment variables. These can be set in a .env file or passed directly to the process.
Environment File Locations
| Context | Location |
|---|---|
| Development | .env in working directory |
| Installed Service | /etc/oore/oore.env |
| Custom | --env-file flag or OORE_ENV_FILE variable |
Configuration Variables
Database
| Variable | Required | Default | Description |
|---|---|---|---|
DATABASE_URL | Yes | - | SQLite connection string |
DATABASE_URL=sqlite:oore.dbDATABASE_URL=sqlite:/var/lib/oore/oore.dbServer
| Variable | Required | Default | Description |
|---|---|---|---|
OORE_BASE_URL | No | http://localhost:8080 | Public URL for webhook callbacks |
OORE_DEV_MODE | No | false | Enable development mode (allows HTTP for non-localhost) |
OORE_BASE_URL=https://ci.example.comOORE_DEV_MODE=falseSecurity
| Variable | Required | Default | Description |
|---|---|---|---|
OORE_ADMIN_TOKEN | No | - | Token for admin API authentication |
ENCRYPTION_KEY | No | - | 32-byte hex key for encrypting credentials |
CORS
| Variable | Required | Default | Description |
|---|---|---|---|
OORE_DASHBOARD_ORIGIN | No | - | Allowed origin for CORS (web dashboard) |
Logging
| Variable | Required | Default | Description |
|---|---|---|---|
RUST_LOG | No | info | Log level filter |
Log levels: error, warn, info, debug, trace
RUST_LOG=oore_server=info,oore_core=infoRUST_LOG=oore_server=debug,oore_core=debugGitHub Integration
Environment variables (legacy/alternative):
These are only needed if you’re manually configuring a pre-existing GitHub App instead of using the CLI setup flow:
| Variable | Required | Default | Description |
|---|---|---|---|
GITHUB_APP_ID | No | - | GitHub App ID |
GITHUB_PRIVATE_KEY_PATH | No | - | Path to GitHub App private key PEM file |
GITHUB_WEBHOOK_SECRET | No | - | Shared secret for webhook verification |
GitLab Integration
| Variable | Required | Default | Description |
|---|---|---|---|
GITLAB_SERVER_PEPPER | No | - | Server pepper for HMAC computation of webhook tokens |
GITLAB_API_BASE_URL | No | https://gitlab.com | Base URL for GitLab API |
OAuth Configuration (for gitlab.com):
| Variable | Required | Default | Description |
|---|---|---|---|
OORE_GITLAB_CLIENT_ID | No | - | GitLab OAuth application ID |
OORE_GITLAB_CLIENT_SECRET | No | - | GitLab OAuth application secret |
Self-Hosted GitLab Security (optional):
| Variable | Required | Default | Description |
|---|---|---|---|
OORE_GITLAB_ALLOWED_HOSTS | No | - | Comma-separated list of allowed GitLab hostnames |
OORE_GITLAB_ALLOWED_CIDRS | No | - | Comma-separated list of allowed CIDRs |
OORE_ALLOW_BROAD_CIDRS | No | false | Allow broad CIDR ranges (use with caution) |
OORE_GITLAB_CA_BUNDLE | No | - | Path to custom CA bundle for self-signed certificates |
GitLab webhook tokens are stored per-repository in the database as HMAC hashes.
Example Configurations
Minimal Development
DATABASE_URL=sqlite:oore.dbRUST_LOG=debugProduction
DATABASE_URL=sqlite:/var/lib/oore/oore.dbOORE_BASE_URL=https://ci.example.comOORE_ADMIN_TOKEN=secure-random-token-32-chars-minENCRYPTION_KEY=64-hex-characters-hereOORE_DASHBOARD_ORIGIN=https://dashboard.example.comRUST_LOG=oore_server=info,oore_core=infoWith GitHub App (CLI Setup - Recommended)
DATABASE_URL=sqlite:/var/lib/oore/oore.dbOORE_BASE_URL=https://ci.example.comOORE_ADMIN_TOKEN=secure-random-token-hereENCRYPTION_KEY=64-hex-characters-hereRUST_LOG=oore_server=infoThen run oore github setup to configure the GitHub App. Credentials are stored encrypted in the database.
With GitLab OAuth
DATABASE_URL=sqlite:/var/lib/oore/oore.dbOORE_BASE_URL=https://ci.example.comOORE_ADMIN_TOKEN=secure-random-token-hereENCRYPTION_KEY=64-hex-characters-here
GITLAB_SERVER_PEPPER=random-pepper-for-hmacOORE_GITLAB_CLIENT_ID=your-gitlab-app-idOORE_GITLAB_CLIENT_SECRET=your-gitlab-app-secret
RUST_LOG=oore_server=infoFile Permissions
sudo chmod 600 /etc/oore/oore.envsudo chown root:wheel /etc/oore/oore.env # macOSsudo chown root:root /etc/oore/oore.env # LinuxThis is done automatically by oored install.
Applying Changes
sudo oored restartRestart the server (Ctrl+C and run again)