Skip to content

First-time setup

After deploying, use this guide to set your password, add a passkey, and choose your language, base currency and time zone.

A fresh deployment has no password yet. To stop a stranger from claiming it first, setting the first password requires the setup token SETUP_TOKEN configured at deploy time.

  1. Open https://calends.example.com/admin. You’ll see “First time here? Set a password to sign in.”
  2. Enter the token under Setup token (SETUP_TOKEN):
    • Cloudflare: the string you set with wrangler secret put SETUP_TOKEN;
    • Docker: printed in the logs on first start (docker logs calends) and saved as the setup-token file in the data directory. You can also set your own with the SETUP_TOKEN environment variable.
  3. Enter a new password (at least 8 characters) twice and click Set password and continue.

After that the setup token is no longer needed. The password is stored as a salted PBKDF2-SHA256 hash; the server never keeps it in plain text.

Go to Settings → Security and click Add passkey. From then on you can choose Sign in with passkey on the sign-in page and use Face ID, Touch ID or your device passcode instead of typing a password. Add one per device or password manager.

Passkeys require HTTPS. Cloudflare’s workers.dev address and custom domains are HTTPS out of the box; for Docker, set up a reverse proxy first — see Custom domain and HTTPS.

More sign-in options are covered in Sign-in and devices.

Under Settings → General:

Setting What it does
Language Language for the interface, reminder messages and MCP responses — 14 in total. With System default, the interface follows your browser, and reminders and MCP use the language the app was last used in.
Name Shown on year-in-review images and the public page.
Avatar Your avatar in the sidebar, on the public page and in shared plans. Use an image URL or upload one (PNG, JPEG, WebP, GIF or SVG); the Calends icon is used if empty.
Open to Which page opens at /admin: Overview, Subscriptions, Calendar, Reports or Wallet.
Base currency The currency everything is converted into; USD by default. You can change it any time and all figures are recalculated.
Time zone Decides what “today” is and which local hour reminders go out at. UTC by default.
Week starts on Monday (default) or Sunday, for the calendar.