# OpenVibe.Git — every value here is read by server/config.js. Production: /etc/openvibe/git.env. # Only variable NAMES appear in code and docs; never put a secret in this file. NODE_ENV=production PORT=5270 HOST=127.0.0.1 BASE_URL=https://git.openvibe.codes TRUST_PROXY=2 # PostgreSQL (ADR-035): DATABASE_URL serves through PgBouncer, DATABASE_DIRECT_URL migrates. DATABASE_URL= DATABASE_DIRECT_URL= GIT_PGLITE_DIR= # The bare repositories and the mirror work: DATA_DIR/repos//.git GIT_DATA_DIR=/var/lib/openvibe/git # OpenVibe.Network sign-in (OAuth client `git`) and offline token verification. OV_NETWORK_URL=https://openvibe.network OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 OV_OAUTH_CLIENT_ID=git OV_OAUTH_CLIENT_SECRET= COOKIE_SECURE=true # GitHub: the API for the card and mirror metadata, the push webhook secret (Shared/Contracts and every # official repository send it), and the token a push mirror uses for the OpenVibers repositories. GIT_GITHUB_API_URL=https://api.github.com GIT_GITHUB_TOKEN= GIT_GITHUB_WEBHOOK_SECRET= GIT_GITHUB_PUSH_TOKEN= # Clone tokens: opaque, stored as a SHA-256 hash; 32+ characters of key encrypt a stored push-mirror token. GIT_TOKEN_TTL_HOURS=1 GIT_SECRET_KEY= # Limits (bytes). A push larger than this is refused; a repository may grow to the cap; an archive # larger than the cap is refused. GIT_MAX_PUSH_BYTES=536870912 GIT_MAX_REPO_BYTES=3221225472 GIT_MAX_FILE_BYTES=2097152 GIT_MAX_ARCHIVE_BYTES=268435456 # Forge CI (docs/ci.md): the workstation runner's queue. A run is made only for a branch push to an official # repository by a GitHub login that may push there (the owning account, GIT_CI_MEMBERS, or a collaborator). # The runner token is never here: this service reads only its scrypt hash from deploy/ci/runner-token. GIT_CI_ENABLED=true GIT_CI_ORG=openvibers GIT_CI_CONTEXT=forge/test GIT_CI_MEMBERS= GIT_CI_MEMBER_CACHE_MS=600000 GIT_CI_REAP_MS=60000 GIT_CI_RUNNER_TOKEN= GIT_CI_RUNNER_TOKEN_FILE= # Mirrors: the ten-minute poll and how long one fetch may take. GIT_MIRROR_POLL_MS=600000 GIT_MIRROR_TIMEOUT_MS=600000 # Official mirrors seed: the GitHub organisation to mirror, the OpenVibe owner to create the mirrors under # (default: the first of GIT_OFFICIAL_OWNERS), how often a run is due and how many clones run at once. Empty # GIT_OFFICIAL_ORG turns it off. When GitHub's REST listing is refused the list comes from openvibe-contracts. GIT_OFFICIAL_ORG= GIT_OFFICIAL_OWNER=openvibers GIT_OFFICIAL_SYNC_MS=21600000 GIT_OFFICIAL_CONCURRENCY=3 # Account export/deletion events from OpenVibe.Network (loopback only). GIT_EVENTS_SECRET= # Request limits per address per minute. GIT_API_RATE_LIMIT_PER_MIN=180 GIT_PAGE_RATE_LIMIT_PER_MIN=300