Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
CodeIssuesDiscussionsWikiPull RequestsProjectsCommitsActionsReleasesContributorsPulse● GatesSecuritySettingsDeploymentsPipelineInsightsAgents✨ Explain✨ Ask AI✨ Workspace✨ Spec✨ Tests▓ Debt Map✨ NL Search🏛 Archaeology
Blame · Line-by-line history

.env.example

Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.

.env.exampleBlame123 lines · 4 contributors
fc1817aClaude1DATABASE_URL=postgresql://user:password@host/gluecron
2GIT_REPOS_PATH=./repos
3PORT=3000
60323c5Claude4
5# ─── SSH git server (Block SSH-1) ─────────────────────────────────────────
6# Port for the SSH git daemon. 2222 by default (use 22 in production
7# if you expose it directly, or put it behind an SSH proxy).
8# Set SSH_PORT=0 to disable the SSH server entirely.
9SSH_PORT=2222
10# PEM-encoded Ed25519 (or RSA) private key for the SSH host.
11# If unset, an ephemeral key is generated on startup — fine for dev but
12# clients will see "host key changed" warnings on restart.
13# Generate with: ssh-keygen -t ed25519 -f /etc/gluecron/ssh_host_key -N ''
14# Then paste the contents here (or use \\n for newlines in single-line form).
15SSH_HOST_KEY=
16# ──────────────────────────────────────────────────────────────────────────
a4e1564Claude17GATETEST_URL=https://gatetest.ai/api/events/push
e883329Claude18GATETEST_API_KEY=
ad6d4adClaude19# Inbound GateTest callback auth — set one so GateTest can POST results back.
20# See GATETEST_HOOK.md for payload + endpoint details.
21# Generate a secret with: openssl rand -hex 32
22GATETEST_CALLBACK_SECRET=
23GATETEST_HMAC_SECRET=
0ec4eceTest User24# ─── For the GateTest side, NOT Gluecron ─────────────────────────────────
25# When you point GateTest at gluecron.com to scan the live site, GateTest
26# needs the two values below in ITS environment (set them in the gatetest.ai
27# scanner config, not here). Issue the token from /admin/ops → "GateTest
28# scanner credentials" while signed in as site admin.
29# GLUECRON_BASE_URL=https://gluecron.com
30# GLUECRON_API_TOKEN=<paste from /admin/ops, shown once>
31# ─────────────────────────────────────────────────────────────────────────
9ecf5a4Claude32# Vapron (formerly Crontech) deploy integration. Legacy CRONTECH_* names
33# are still honored as fallbacks for already-configured deployments.
34VAPRON_DEPLOY_URL=https://vapron.ai/api/webhooks/gluecron-push
35# BLK-016 — only fire the Vapron deploy webhook for pushes to this
36# `<owner>/<name>` (default `ccantynz-alt/vapron`). All other repo pushes
ba93444Claude37# are ignored.
9ecf5a4Claude38VAPRON_REPO=ccantynz-alt/vapron
39# Shared HMAC secret used to sign the outbound Vapron deploy webhook.
ba93444Claude40# Sent as `X-Gluecron-Signature: sha256=<hex>` of the JSON body. Must match
9ecf5a4Claude41# the secret configured on the Vapron deploy-agent. Unset → header omitted
42# and Vapron rejects with 401. (Legacy fallbacks: CRONTECH_HMAC_SECRET,
43# GLUECRON_WEBHOOK_SECRET.) Prefer setting this on /admin/integrations.
44VAPRON_HMAC_SECRET=
45# Inbound bearer token Vapron MUST present on deploy.succeeded /
9e1e93aClaude46# deploy.failed callbacks to POST /api/events/deploy (Signal Bus P1 — E3/E4).
47# Generate with: openssl rand -hex 32. Unset → endpoint refuses every call.
9ecf5a4Claude48# (Legacy fallback: CRONTECH_EVENT_TOKEN.)
49VAPRON_EVENT_TOKEN=
e883329Claude50ANTHROPIC_API_KEY=
24cf2caClaude51# Email (Block A8). Provider=log just writes to stderr (safe default).
52# Switch to "resend" in prod and set RESEND_API_KEY.
53EMAIL_PROVIDER=log
54EMAIL_FROM=gluecron <no-reply@gluecron.local>
55RESEND_API_KEY=
56# Used to build absolute URLs in outbound emails + webhooks.
57APP_BASE_URL=http://localhost:3000
9ecf5a4Claude58# Cross-product platform-status endpoints (Vapron / Gluecron / GateTest).
ccf9eefDictation App59# Used by the /admin/platform widget. Defaults point at production hosts.
9ecf5a4Claude60VAPRON_STATUS_URL=https://vapron.ai/api/platform-status
ccf9eefDictation App61GLUECRON_STATUS_URL=https://gluecron.com/api/platform-status
62GATETEST_STATUS_URL=https://gatetest.io/api/platform-status
80bed05Claude63# Error tracking (optional). If unset, errors are logged to stderr only.
64# ERROR_WEBHOOK_URL — POST JSON {timestamp,message,stack,context,env} on unhandled errors.
65ERROR_WEBHOOK_URL=
66# SENTRY_DSN — if set, errors POST to the Sentry envelope endpoint directly (no SDK).
67SENTRY_DSN=
ea52715copilot-swe-agent[bot]68# CLI: gluecron server host for remote commands (default: localhost).
69GLUECRON_HOST=localhost
70# Preflight script: port the running server listens on (default matches PORT).
71PREFLIGHT_PORT=3000
72# Preflight script: set to 1 to run the backup drill check.
73PREFLIGHT_BACKUP_DRILL=
74# Set to 1 to enable verbose AI review debug output.
75DEBUG_AI_REVIEW=
76# Autopilot: poll interval in milliseconds (default: 60000).
77AUTOPILOT_INTERVAL_MS=60000
78# Set to 1 to disable the autopilot background task entirely.
79AUTOPILOT_DISABLED=
80# WebAuthn / Passkey relying-party settings.
81WEBAUTHN_RP_ID=localhost
82WEBAUTHN_ORIGIN=http://localhost:3000
83WEBAUTHN_RP_NAME=gluecron
84# Set to 1 to enable verbose PR triage debug output.
85DEBUG_PR_TRIAGE=
86# Voyage AI API key for semantic (vector) code search.
87VOYAGE_API_KEY=
88# AES-256-GCM key (hex, 64 chars) for encrypting workflow secrets at rest.
89WORKFLOW_SECRETS_KEY=
783dd46Claude90# AES-256-GCM key (hex, 64 chars) for encrypting server-target SSH private
91# keys and per-target env vars at rest (Block ST — /admin/servers).
92# Generate with: openssl rand -hex 32. If unset, all server-target
93# operations refuse cleanly (no panics, no plaintext fallbacks).
94SERVER_TARGETS_KEY=
90c7531Claude95# Block CW — Claude on the web (/:owner/:repo/claude).
96# Per-session working directories live under this dir on the web server.
97# Default: /var/lib/gluecron/claude-web. Should be on a disk with room
98# for full repo clones and writable by the gluecron service user.
99CLAUDE_WEB_WORKDIR=
100# Path to the Claude Code CLI binary. Default: `claude` (i.e. on PATH).
101# Override if `claude` is installed somewhere non-standard on the box.
102CLAUDE_BIN=
ea52715copilot-swe-agent[bot]103# Set to "production" or "test" to override NODE_ENV for Bun.
104BUN_ENV=
105# Injected at build time; the deployed git commit SHA for the platform-status endpoint.
106APP_VERSION=
107# Injected at build time; the deployed git commit SHA shown on the status page.
108GIT_COMMIT=
74a8784Claude109
110# ── Documented 2026-06-10 (audit pass) — vars used in src/lib/config.ts ──
111# Opt-in: AI scans push diffs and opens issues for problems it finds.
112AI_AUTO_ISSUES=
113# Opt-in: dependency scanner runs on push (advisory cross-reference).
114DEPENDENCY_SCAN_ENABLED=
115# Directory for the OCI container-registry blob store. Default: ./oci-store
116OCI_STORE_PATH=
117# Wildcard domain for PR preview deployments (e.g. previews.example.com).
118# Empty disables branch previews.
119PREVIEW_DOMAIN=
120# Redis/Valkey connection for cross-node SSE fan-out. Empty = in-process
121# broadcaster (single-node only). Either name is accepted.
122REDIS_URL=
123VALKEY_URL=