Skip to content

Configuring Scheddy

core edited this page Nov 24, 2024 · 2 revisions

Scheddy is primarily configured through a set of environment variables. Please consult the table below for what they are, and how they should be set.

How to set variables

All variables must be set at build time. Changing them at runtime will do nothing, as these are inlined directly into the bundle for efficiency. If you wish to change one of these, you must rebuild the bundle with bun run build for your changes to take effect.

List of config variables

Variable Required? Description Example
DATABASE_URL Yes A URL-style connection string for MySQL. mysql://username:urlencoded_password@host:port/name
PUBLIC_FACILITY_NAME Yes The site name to be displayed. Atlanta ARTCC
VATUSA_FACILITY_ID Yes Your VATUSA API ID (ZTL, ZAU, ZOB, etc) ZTL
PUBLIC_VATSIM_OAUTH_BASE Yes VATSIM OAuth base. Should always be https://auth.vatsim.net https://auth.vatsim.net
PUBLIC_VATSIM_OAUTH_CLIENT_ID Yes VATSIM OAuth client ID 123
PUBLIC_VATSIM_OAUTH_REDIRECT_URL Yes Redirect URL. Should be https://your.scheddy.domain/callback https://scheddy.ztlartcc.org/callback
VATUSA_API_BASE Yes VATUSA API base. Should always be https://api.vatusa.net https://api.vatusa.net
VATUSA_API_KEY Yes Your VATUSA API key. 123SecretKey
MAX_BOOKING_AHEAD_DAYS Yes Max # of days, integer, ahead of time that students can book. 14
SMTP_HOST Yes SMTP host to connect to for notifications. mail.yourproviders.email
SMTP_PORT Yes SMTP port to connect to 465
SMTP_SECURE Yes Whether or not to use TLS/SSL/STARTTLS/etc true
SMTP_AUTH_USER Yes Username to authenticate with username
SMTP_AUTH_PASS Yes Password to authenticate with password
SMTP_EMAIL_FROM Yes The contents of the From header for emails. Name To Show <[email protected]>
API_MASTER_KEY Yes A randomly generated secret key to use for the API. GENERATE_YOUR_OWN_YOU_HAVE_BEEN_WARNED
BASE_URL Yes The public base URL WITH A SLASH AT THE END of your Scheddy instance. https://scheddy.ztlartcc.org/
PUBLIC_SENTRY_DSN Yes Sentry DSN for error reporting. Help make Scheddy better - please use ours! https://0ae0831ed86b9209a84f801099715397@o4508266099703808.ingest.us.sentry.io/4508266101080064

Note

We rely on Sentry to get issue reports outside of ZTL. We would greatly appreciate if you use our sentry DSN, so that we get reports of any errors that pop up.

If you don't want to, that's okay. Change it to your own or set it blank (but the env var MUST be present to build.)

If you choose not to report with Sentry, please, please report any issues you find on the Issues section of the github.

That way, we can fix it, and make Scheddy the best it can be :)

Caution

IT IS ABSOLUTELY CRUCIAL THAT YOU GENERATE YOUR OWN API KEY

DO NOT USE ANY EXAMPLE VALUES. The master API key has power!

openssl rand -hex 32 is your friend.

Do not share it with untrusted parties.

Clone this wiki locally