openvibers/openvibe.work .env.example
.env.example
| 1 | # OpenVibe.Work — environment (production: /etc/openvibe/work.env). Names only; never commit values. |
| 2 | |
| 3 | NODE_ENV=production |
| 4 | PORT=4960 |
| 5 | HOST=127.0.0.1 |
| 6 | BASE_URL=https://openvibe.work |
| 7 | TRUST_PROXY=2 |
| 8 | # PostgreSQL (ADR-035), written by OpenVibe.Host roles/data/add-service.sh work: the runtime role through PgBouncer, |
| 9 | # the owner on a direct connection (migrations), and Valkey (shared limit counters). |
| 10 | # Without DATABASE_URL, development uses an embedded PGlite database in data/pglite. |
| 11 | DATABASE_URL= |
| 12 | DATABASE_DIRECT_URL= |
| 13 | VALKEY_URL= |
| 14 | VALKEY_PREFIX=ov:work: |
| 15 | # Per-caller limits (server/http/caller-limits.js): requests one caller may make to the API per minute and per hour. |
| 16 | #WORK_LIMITS_MINUTE=120 |
| 17 | #WORK_LIMITS_HOUR=3000 |
| 18 | |
| 19 | # OpenVibe.Network: SSO (OAuth client `work`, PKCE S256) and its JWKS; app tokens for audience openvibe.work. |
| 20 | OV_NETWORK_URL=https://openvibe.network |
| 21 | OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000 |
| 22 | OV_OAUTH_CLIENT_ID=work |
| 23 | OV_OAUTH_CLIENT_SECRET= |
| 24 | # OV_OAUTH_REDIRECT_URI=https://openvibe.work/auth/callback |
| 25 | # OV_NETWORK_ISSUER=https://openvibe.network |
| 26 | # The audience a person's own session token carries. |
| 27 | # OV_SESSION_AUDIENCE=openvibe.network |
| 28 | # The audience app, agent and service tokens for this service's API carry. |
| 29 | # WORK_AUDIENCE=openvibe.work |
| 30 | |
| 31 | # The agent pillar: job applications (server/applications.js) and the OpenVibe.Actor client (server/actor.js). |
| 32 | # WORK_APPLICATIONS_MAX caps how many applications one person may track (default 500). WORK_ACTOR_URL unset means |
| 33 | # "no agent": POST …/assist answers 503 work.actor_unavailable rather than call anywhere. WORK_ACTOR_PUBLIC_URL is |
| 34 | # the human-facing origin a task_url points at. |
| 35 | #WORK_APPLICATIONS_MAX=500 |
| 36 | #WORK_APPLICATIONS_ASSISTS_PER_DAY=10 |
| 37 | #WORK_ACTOR_URL=http://127.0.0.1:4950 |
| 38 | #WORK_ACTOR_PUBLIC_URL=https://openvibe.actor |
| 39 | #WORK_ACTOR_TIMEOUT_MS=15000 |
| 40 | |
| 41 | # OpenVibe.Events → Work (ADR-033 account export and deletion): the secret signs a delivery (comma-separated for |
| 42 | # rotation, 32+ characters each; unset makes POST /internal/events answer 503); the url is where the two subscriptions |
| 43 | # are created at boot (off when unset); WORK_EVENTS_SUBSCRIBE=0 turns that off. |
| 44 | WORK_EVENTS_SECRET= |
| 45 | WORK_EVENTS_URL= |
| 46 | #WORK_EVENTS_ENDPOINT=http://127.0.0.1:4960/internal/events |
| 47 | |
| 48 | # optional: defaults to true in production |
| 49 | # COOKIE_SECURE=true |
| 50 | |
| 51 | # IndexNow: with a key (8–128 letters and digits), each ingest run's new listing pages and the sitemap are sent to |
| 52 | # search engines in one batch, and the key is served at /<key>.txt. Unset: off. |
| 53 | #INDEXNOW_KEY= |
| 54 | |
| 55 | # The job-board ingest (server/ingest/). Off unless WORK_INGEST=on: a development run and the test suite read no board. |
| 56 | # Set it on the host, or no listing ever arrives. Each source is read at most every WORK_INGEST_INTERVAL_HOURS (6), |
| 57 | # which is exactly the four calls a day Remotive's terms allow. |
| 58 | #WORK_INGEST=on |
| 59 | #WORK_INGEST_INTERVAL_HOURS=6 |
| 60 | #WORK_INGEST_TIMEOUT_MS=15000 |
| 61 | #WORK_INGEST_LIMIT=100 |
| 62 | #WORK_RETENTION_DAYS=30 |
| 63 | # Remotive is the one board Work still fetches itself (its API terms grant a named, linked use; its robots.txt |
| 64 | # disallows /api/* so OpenVibe.Sources may not fetch it). Point this at a stand-in server to test the ingest; |
| 65 | # nothing else in the service fetches a URL, and never one a caller typed. |
| 66 | #WORK_REMOTIVE_URL=https://remotive.com/api/remote-jobs |
| 67 | # Arbeitnow, We Work Remotely, Hacker News "Who is hiring" and RemoteOK come through OpenVibe.Sources |
| 68 | # (server/ingest/from-sources.js). Needs OV_OAUTH_CLIENT_SECRET (Network grants Work sources.item.read); |
| 69 | # Sources is on 127.0.0.1:4720. |
| 70 | #OV_SOURCES_INTERNAL_URL=http://127.0.0.1:4720 |
| 71 | # USAJOBS (D11 owner settings): the admin panel's work.data_sources namespace wins; these are the |
| 72 | # fallback when no value was entered there. The email must match the key's account. |
| 73 | #USAJOBS_API_KEY= |
| 74 | #USAJOBS_ACCOUNT_EMAIL= |
| 75 | |
| 76 | # The User-Agent the boards see. Defaults to OpenVibeWork/0.1 (+<BASE_URL>). |
| 77 | #WORK_USER_AGENT= |
| 78 | |
| 79 | # An embedded PGlite directory in development, when DATABASE_URL is unset. |
| 80 | #WORK_PGLITE_DIR= |
| 81 |