sdp-request-watcher/src/env.example
Skylar Grant 2f137afd5f
All checks were successful
Build and push image / build (push) Successful in 13s
Limit sign-in to allowed email domains
Any Zoho account can approve the client, and an outside account got a
session that returned the .env site, group and technician names.
ALLOWED_EMAIL_DOMAINS is now required: the callback refuses other
domains and revokes their token, and every API call re-checks it so
older cookies stop working. /api/names also makes the caller's token
read from SDP before returning the shared names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 21:29:25 -04:00

31 lines
1.8 KiB
Plaintext

# Zoho API console "Server-based Application" client. Its redirect URI must be PUBLIC_URL/auth/callback
CLIENT_ID=
CLIENT_SECRET=
# required: only Zoho accounts with an email at these domains can sign in (exact match, comma-separated)
# any Zoho user can approve the client, so this is what keeps outside accounts out
ALLOWED_EMAIL_DOMAINS=mainecc.edu
# the address people open the dashboard at (no trailing slash); defaults to http://localhost:3000
PUBLIC_URL=https://dashboard.example.com
# encrypts the sign-in cookie; at least 32 characters, e.g. from `openssl rand -hex 32`. Changing it signs everyone out
SESSION_SECRET=
# optional: days before a sign-in expires and Zoho is asked again (default 7)
SESSION_DAYS=7
# The region below is the default each user starts with; anyone can change their own in Settings.
# technicians in the status table (leave empty for everyone, plus an Unassigned row)
TECHNICIAN_NAMES=First Last, First Last
STATUS_NAMES=Closed,Resolved
# only requests from these sites are shown (central region: KVCC, EMCC, CMCC, MCCS and their satellite sites)
SITE_NAMES=Base Site,ASSIGN,CMCC,CMCC-Damariscotta,EMCC,KVCC,KVCC-Alfond,MCCS
# optional: also limit to these support groups, e.g. Customer Support (leave empty for all groups)
GROUP_NAMES=
# statuses the Unassigned Requests counter leaves out (defaults to STATUS_NAMES)
UNASSIGNED_EXCLUDED_STATUSES=Canceled,Closed,Need Information,On Hold,Resolved
# optional: weather widget, free key from https://openweathermap.org/api (current weather + 5 day forecast)
OWM_API_KEY=
# default weather location; people can pick another from the list in src/places.js
OWM_ZIP_CODE=04937
# optional: how often the technician/status table is recounted, in minutes (default 5)
WORKLOAD_MINUTES=5
# optional: where saved settings and name suggestions are kept (default ./data; /app/data in Docker)
# DATA_DIR=