Skip to content

Configuration

Job Tracker is configured entirely with environment variables. On Render, set them on the service; locally, they go in .env (copy .env.example, which lists them all with placeholder values). A missing or invalid setting stops the app at start-up, without ever printing the values.

Variable What it is
PUBLIC_BASE_URL The address the instance is served on, e.g. https://jobs.example.com. Requests on any other host are redirected here, and Google redirects back to <PUBLIC_BASE_URL>/auth/callback.
DATABASE_URL The Postgres connection string for the app’s role (not a superuser, no BYPASSRLS). Neon’s postgresql://… form works as given.
OIDC_CLIENT_ID The OAuth client ID.
OIDC_CLIENT_SECRET The OAuth client secret.
SESSION_SECRET A long random value that signs the sign-in round trip. Generate one with openssl rand -hex 32. Render generates it for you.
ALLOWED_EMAILS Who may sign in: a comma-separated list of email addresses, case-insensitive. Google must also confirm the address is verified.
Variable Default What it does
OIDC_ISSUER https://accounts.google.com The sign-in provider. Any OpenID Connect provider with discovery works.
SESSION_IDLE_DAYS 14 Days without use before you’re signed out.
SESSION_MAX_DAYS 90 Days after signing in before you’re signed out, however much you use it.
STALE_AFTER_DAYS 7 Days without a status change before a job appears in the dashboard’s Needs follow-up or Still to apply lists.
NO_RESPONSE_AFTER_DAYS 14 Days without a status change before an applied job is suggested as No response? instead.
ENVIRONMENT production development turns on the API docs at /api/v1/docs. Leave it as production anywhere public.
LOG_LEVEL INFO DEBUG, INFO, WARNING or ERROR.
DOCS_URL https://job-tracker-docs.job-finder.dev The footer’s About Job Tracker link.
SOURCE_URL https://github.com/lukebrewerton/job-tracker The footer’s Source code link. The app is AGPL-licensed: if you run a modified copy for others, point this at your own repository, so its users can get the source of the version they use.