First-time setup
After deploying, use this guide to set your password, add a passkey, and choose your language, base currency and time zone.
Set a password
Section titled “Set a password”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.
- Open
https://calends.example.com/admin. You’ll see “First time here? Set a password to sign in.” - 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 thesetup-tokenfile in the data directory. You can also set your own with theSETUP_TOKENenvironment variable.
- Cloudflare: the string you set with
- 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.
Add a passkey
Section titled “Add a passkey”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.
General settings
Section titled “General settings”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. |
Next steps
Section titled “Next steps”- Get to know the app: A tour of the app.
- Add subscriptions: Subscriptions and billing cycles.
- Set up reminders: Reminder rules and Notification channels.
- Coming from another app: CSV import and export.