Files
gitea-codex/.env.example
Luna dc48df1aab
Some checks failed
ci / test (pull_request) Failing after 30s
ci / publish (pull_request) Has been skipped
Add stuck running job recovery with lease timeout
2026-05-22 21:10:11 +00:00

58 lines
1.7 KiB
Plaintext

# Base URL of your self-hosted Gitea instance.
GITEA_BASE_URL=https://gitea.reversed.dev
# Bot account token used to read PRs and write comments.
GITEA_TOKEN=replace
GITEA_BOT_USERNAME=codex-bot
# Shared secret configured on the Gitea webhook.
GITEA_WEBHOOK_SECRET=replace
# OpenAI API credentials for API-key mode (required when CODEX_AUTH_MODE=api_key).
OPENAI_API_KEY=replace
OPENAI_PROJECT_ID=
OPENAI_ORG_ID=
# Codex runner auth mode:
# - api_key: use OPENAI_API_KEY inside the review container.
# - chatgpt: mount auth.json into the container and use ChatGPT-managed auth.
CODEX_AUTH_MODE=api_key
# Optional custom host path for auth.json when CODEX_AUTH_MODE=chatgpt.
# Defaults to ~/.codex/auth.json when unset.
CODEX_AUTH_JSON_PATH=
# Comma-separated allowlist of repositories this bot may process.
# Example: space/gitea-codex,space/another-repo
ALLOWED_REPOS=space/gitea-codex
COOLDOWN_SECONDS=60
# WEBHOOK_MODE is informational for your deployment model:
# - repo: you configured repository-level webhooks in Gitea.
# - global: you configured one instance-level/admin webhook in Gitea.
# This bot does NOT auto-provision webhooks. Admin config is manual.
WEBHOOK_MODE=repo
DB_HOST=mariadb
DB_PORT=3306
DB_NAME=gitea_codex
DB_USER=gitea_codex
DB_PASSWORD=replace
WORKDIR=/var/lib/gitea-codex/worktrees
MAX_DIFF_BYTES=200000
MAX_REVIEW_MINUTES=10
CONCURRENCY=1
JOB_LEASE_TIMEOUT_SECONDS=300
STUCK_JOB_RECOVERY_ACTION=requeue
# Image used for ephemeral job containers (Node + npm + Codex CLI install).
REVIEW_RUNNER_IMAGE=node:22-bookworm-slim
# Keep false for review-only mode.
ENABLE_FIX_COMMANDS=false
# Security: fork PRs are skipped unless explicitly enabled.
ALLOW_UNTRUSTED_FORKS=false