collabcentral/.env.example
Joseph B. McQueen b4e5ca3f33 Phase 7: polish for production readiness
- Add README with local setup, add-a-bot walkthrough, Docker run
  recipe, and a rundown of committed vs. runtime state.
- Wrap the cron schedules with an explicit timezone (default
  America/New_York, override via CRON_TIMEZONE) so cadence is
  independent of the host/container clock.
- Route saveServiceAccountToken through a try/catch so a disk hiccup
  no longer bubbles up as an unhandled exception during token refresh,
  and keep the in-memory copy usable even on write failure.
- Silence per-message queue.on('active') / on('completed') logs that
  also registered a new listener on every job invocation (accumulating
  on the shared queue over time).
- Fix logIt reference (undefined; would have thrown if
  checkScheduledJobs ever rejected) and a broken JSON.stringify.result
  debug log that always evaluated to undefined.
- Dockerfile: switch to node:20-slim, install from the lockfile via
  npm ci --omit=dev, set NODE_ENV=production, and document that env
  and volumes are supplied at runtime.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:00:59 -04:00

31 lines
1.5 KiB
Text

# --- Server ----------------------------------------------------------------
SERVER_PORT=1450
# Timezone used for both cron schedules (daily jobs cleanup and per-minute
# token refresh / scheduled-job dispatch). Any IANA tz name is accepted.
# Defaults to America/New_York when unset.
CRON_TIMEZONE=America/New_York
# --- OAuth callback URL template ------------------------------------------
# The `:app` placeholder is replaced per-request with the bot's appName.
# IMPORTANT: every bot's resolved URL must be registered as an allowed
# redirect URI in the Webex integration portal
# (developer.webex.com -> My Apps -> <integration> -> Redirect URIs).
#
# Example: with the template below and bots `novi` and `techupdates`, register:
# https://bot.example.com/CollabCentral/novi/oauth
# https://bot.example.com/CollabCentral/techupdates/oauth
#
# When you add a new bot, register its redirect URI before users try to log in.
OAUTH_CALLBACK_URL_TEMPLATE=https://bot.example.com/CollabCentral/:app/oauth
# --- Webex integration (single integration used by all bots' OAuth) -------
WEBEX_INTEGRATION_CLIENT_ID=your-integration-client-id
WEBEX_INTEGRATION_CLIENT_SECRET=your-integration-client-secret
# --- Webex service account (used for group/people lookups) ----------------
WEBEX_SERVICE_ACCOUNT_CLIENT_ID=your-service-account-client-id
WEBEX_SERVICE_ACCOUNT_CLIENT_SECRET=your-service-account-client-secret
# --- Google Translate -----------------------------------------------------
GOOGLE_TRANSLATE_API_KEY=your-google-translate-api-key