openvibers/openvibe.work .env.example

.env.example

main 3.9 KB · 81 lines · plaintext

1# OpenVibe.Work — environment (production: /etc/openvibe/work.env). Names only; never commit values.
2
3NODE_ENV=production
4PORT=4960
5HOST=127.0.0.1
6BASE_URL=https://openvibe.work
7TRUST_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.
11DATABASE_URL=
12DATABASE_DIRECT_URL=
13VALKEY_URL=
14VALKEY_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.
20OV_NETWORK_URL=https://openvibe.network
21OV_NETWORK_INTERNAL_URL=http://127.0.0.1:4000
22OV_OAUTH_CLIENT_ID=work
23OV_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.
44WORK_EVENTS_SECRET=
45WORK_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