Skip to content

Environment Variables

Complete reference for all GitWire environment variables.

GitHub App

VariableRequiredDefaultDescription
GITHUB_APP_IDGitHub App ID from app settings
GITHUB_APP_CLIENT_IDClient ID (starts with Iv1.)
GITHUB_APP_CLIENT_SECRETClient secret from app settings
GITHUB_WEBHOOK_SECRETSecret used to verify webhook signatures
GITHUB_PRIVATE_KEYFull PEM key content (use \n for newlines)
GITHUB_PRIVATE_KEY_PATHPath to PEM file (alternative to above)

TIP

Use GITHUB_PRIVATE_KEY_PATH when possible — it avoids issues with newlines in environment variables.

Server

VariableRequiredDefaultDescription
PORT3000HTTP port for the API server
NODE_ENVdevelopmentproduction or development
LOG_LEVELinfodebug, info, warn, or error

Database

VariableRequiredDefaultDescription
DATABASE_URLPostgreSQL connection string
DB_PASSWORDchangemePassword for Docker Compose PostgreSQL

Docker Compose format:

DATABASE_URL=postgresql://gitwire:password@postgres:5432/gitops_hub

Local development format:

DATABASE_URL=postgresql://gitwire:password@localhost:5432/gitops_hub

Redis

VariableRequiredDefaultDescription
REDIS_URLRedis connection string
REDIS_URL=redis://redis:6379

AI (Claude)

VariableRequiredDefaultDescription
ANTHROPIC_API_KEYAnthropic API key for Claude
ANTHROPIC_BASE_URLhttps://api.anthropic.comAPI base URL (use for proxies)

Using a proxy:

ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic

Application

VariableRequiredDefaultDescription
APP_BASE_URLPublic URL where GitHub sends webhooks
API_KEY(random)Single API key for REST API auth
API_KEYSComma-separated list of API keys

WARNING

If no API_KEY or API_KEYS is set, a random key is generated on startup and logged once. Save it immediately.

Cloudflare Tunnel

VariableRequiredDefaultDescription
TUNNEL_TOKENCloudflare Tunnel token

Dashboard

VariableRequiredDefaultDescription
NEXT_PUBLIC_API_URLPublic API URL for dashboard fetch calls
HOSTNAMESet to 0.0.0.0 in Docker for Next.js standalone

Example .env File

bash
# ─── GitHub App ───────────────────────────────────────────────
GITHUB_APP_ID=3727207
GITHUB_APP_CLIENT_ID=Iv1.abc123
GITHUB_APP_CLIENT_SECRET=your-client-secret
GITHUB_WEBHOOK_SECRET=your-webhook-secret
GITHUB_PRIVATE_KEY_PATH=/opt/gitwire/secrets/gitwire-hq.pem

# ─── Server ───────────────────────────────────────────────────
PORT=3000
NODE_ENV=production
LOG_LEVEL=info

# ─── Database ─────────────────────────────────────────────────
DATABASE_URL=postgresql://gitwire:changeme@postgres:5432/gitops_hub
DB_PASSWORD=changeme

# ─── Redis ────────────────────────────────────────────────────
REDIS_URL=redis://redis:6379

# ─── AI ───────────────────────────────────────────────────────
ANTHROPIC_API_KEY=sk-ant-your-key
ANTHROPIC_BASE_URL=https://api.anthropic.com

# ─── App ──────────────────────────────────────────────────────
APP_BASE_URL=https://gitwire.yourdomain.com
API_KEY=your-secret-api-key

# ─── Tunnel ───────────────────────────────────────────────────
TUNNEL_TOKEN=your-cloudflare-tunnel-token

Next Step

Issue & PR Triage

Released under the MIT License.