openvibers/openvibe-git .env.example
.env.example
| 1 | # OpenVibe.Git — every value here is read by server/config.js. Production: /etc/openvibe/git.env. |
| 2 | # Only variable NAMES appear in code and docs; never put a secret in this file. |
| 3 | |
| 4 | NODE_ENV=production |
| 5 | PORT=5270 |
| 6 | HOST=127.0.0.1 |
| 7 | BASE_URL=https://git.openvibe.codes |
| 8 | TRUST_PROXY=2 |
| 9 | |
| 10 | # PostgreSQL (ADR-035): DATABASE_URL serves through PgBouncer, DATABASE_DIRECT_URL migrates. |
| 11 | DATABASE_URL= |
| 12 | DATABASE_DIRECT_URL= |
| 13 | GIT_PGLITE_DIR= |
| 14 | |
| 15 | # The bare repositories and the mirror work: DATA_DIR/repos/<owner>/<name>.git |
| 16 | GIT_DATA_DIR=/var/lib/openvibe/git |
| 17 | |
| 18 | # OpenVibe.Network sign-in (OAuth client `git`) and offline token verification. |
| 19 | OV_NETWORK_URL=https://openvibe.network |
| 20 | OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 |
| 21 | OV_OAUTH_CLIENT_ID=git |
| 22 | OV_OAUTH_CLIENT_SECRET= |
| 23 | COOKIE_SECURE=true |
| 24 | |
| 25 | # GitHub: the API for the card and mirror metadata, the push webhook secret (Shared/Contracts and every |
| 26 | # official repository send it), and the token a push mirror uses for the OpenVibers repositories. |
| 27 | GIT_GITHUB_API_URL=https://api.github.com |
| 28 | GIT_GITHUB_TOKEN= |
| 29 | GIT_GITHUB_WEBHOOK_SECRET= |
| 30 | GIT_GITHUB_PUSH_TOKEN= |
| 31 | |
| 32 | # Clone tokens: opaque, stored as a SHA-256 hash; 32+ characters of key encrypt a stored push-mirror token. |
| 33 | GIT_TOKEN_TTL_HOURS=1 |
| 34 | GIT_SECRET_KEY= |
| 35 | |
| 36 | # Limits (bytes). A push larger than this is refused; a repository may grow to the cap; an archive |
| 37 | # larger than the cap is refused. |
| 38 | GIT_MAX_PUSH_BYTES=536870912 |
| 39 | GIT_MAX_REPO_BYTES=3221225472 |
| 40 | GIT_MAX_FILE_BYTES=2097152 |
| 41 | GIT_MAX_ARCHIVE_BYTES=268435456 |
| 42 | |
| 43 | # Forge CI (docs/ci.md): the workstation runner's queue. A run is made only for a branch push to an official |
| 44 | # repository by a GitHub login that may push there (the owning account, GIT_CI_MEMBERS, or a collaborator). |
| 45 | # The runner token is never here: this service reads only its scrypt hash from deploy/ci/runner-token. |
| 46 | GIT_CI_ENABLED=true |
| 47 | GIT_CI_ORG=openvibers |
| 48 | GIT_CI_CONTEXT=forge/test |
| 49 | GIT_CI_MEMBERS= |
| 50 | GIT_CI_MEMBER_CACHE_MS=600000 |
| 51 | GIT_CI_REAP_MS=60000 |
| 52 | GIT_CI_RUNNER_TOKEN= |
| 53 | GIT_CI_RUNNER_TOKEN_FILE= |
| 54 | |
| 55 | # Mirrors: the ten-minute poll and how long one fetch may take. |
| 56 | GIT_MIRROR_POLL_MS=600000 |
| 57 | GIT_MIRROR_TIMEOUT_MS=600000 |
| 58 | |
| 59 | # Official mirrors seed: the GitHub organisation to mirror, the OpenVibe owner to create the mirrors under |
| 60 | # (default: the first of GIT_OFFICIAL_OWNERS), how often a run is due and how many clones run at once. Empty |
| 61 | # GIT_OFFICIAL_ORG turns it off. When GitHub's REST listing is refused the list comes from openvibe-contracts. |
| 62 | GIT_OFFICIAL_ORG= |
| 63 | GIT_OFFICIAL_OWNER=openvibers |
| 64 | GIT_OFFICIAL_SYNC_MS=21600000 |
| 65 | GIT_OFFICIAL_CONCURRENCY=3 |
| 66 | |
| 67 | # Account export/deletion events from OpenVibe.Network (loopback only). |
| 68 | GIT_EVENTS_SECRET= |
| 69 | |
| 70 | # Request limits per address per minute. |
| 71 | GIT_API_RATE_LIMIT_PER_MIN=180 |
| 72 | GIT_PAGE_RATE_LIMIT_PER_MIN=300 |
| 73 |