# Kadence — copy to `.env` and fill in what you use. # # Everything here is optional except the database (which compose sets for you): # the app boots with a working 25/5/15 timer and no integrations, and every # value below can also be set later in Settings → the UI writes to the same # place. These are *seeds*: they fill the settings document on first boot. # # The variable names are deliberately the ones from ~/code/jira-helper, so you # can copy that .env straight across. # ---- infrastructure -------------------------------------------------------- APP_PORT=8000 TIMEZONE=Europe/Moscow POSTGRES_USER=kadence POSTGRES_PASSWORD=change-me POSTGRES_DB=kadence # Allowed browser origins; leave * if the backend is only on your machine. CORS_ORIGINS=* # Set this the moment the backend is reachable from anywhere but localhost. # Every /api call then needs it as an `X-API-Token` header (the UI asks once, # the desktop app has a field for it in Settings). API_TOKEN= SCHEDULER_ENABLED=true TELEGRAM_BOT_ENABLED=true LOG_LEVEL=INFO # ---- web login (closes the browser UI to everyone but you) ----------------- # Unset: the browser UI is as open as the API ("off by default" above). Set # either of these and the login screen appears — the desktop app is untouched, # it keeps using API_TOKEN. # # Password: set once, seeds a hash into the DB on first boot; from then on # change it in Settings -> Access or with `make set-password` on the server. AUTH_USERNAME=timka AUTH_PASSWORD= # # Telegram login (the "Login Widget", not the bot): needs TELEGRAM_BOT_TOKEN # above, this site's HTTPS domain registered with @BotFather via /setdomain, # and your numeric Telegram user id (DM @userinfobot to get it — it is not # the same as TELEGRAM_CHAT_ID when that is a group). TELEGRAM_OWNER_ID= TELEGRAM_BOT_USERNAME= # ---- Jira (required for the Jira source) ----------------------------------- JIRA_BASE_URL=https://your-site.atlassian.net JIRA_EMAIL=you@example.com JIRA_API_TOKEN= # Only your own issues: assignee = currentUser() JIRA_EXTRA_JQL= # Jira's "Start date" field id; differs per site (see /rest/api/3/field). JIRA_START_DATE_FIELD=customfield_10015 # ---- Google Tasks (optional) ----------------------------------------------- # Get a refresh token with jira-helper's `uv run google-tasks-auth`. GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_REFRESH_TOKEN= # Comma-separated list titles or ids; blank = every list. GOOGLE_TASKS_LISTS= # ---- Todoist (optional) ---------------------------------------------------- # app.todoist.com → Settings → Integrations → Developer → API token. TODOIST_API_TOKEN= TODOIST_PROJECTS= # ---- Laundry bookings (optional) ------------------------------------------- # The `sessionid` cookie from 4ka.inbicst.ru — see jira-helper's README. LAUNDRY_SESSION= LAUNDRY_BASE_URL=https://4ka.inbicst.ru # ---- Telegram (optional, but it is the point) ------------------------------ # @BotFather gives you the token; message the bot once and read the chat id # from https://api.telegram.org/bot/getUpdates TELEGRAM_BOT_TOKEN= TELEGRAM_CHAT_ID= # ---- Slack (optional fallback) --------------------------------------------- SLACK_WEBHOOK_URL=