Settings and environment
Most settings are on the calsync page. A few live in environment variables.
On the page
- How often it runs. Every 2, 5, 10, 15, 30 or 60 minutes. The default is 5.
- Time zone. Used for quick add text, agendas and .ics times that name no zone.
- Password. You can change it in the settings.
Environment variables
CALSYNC_HOME- The folder for config and sign-in tokens. Default
~/.calsync. Keep it private to your user. CALSYNC_PORT- The port for the page. Default 8484. In Compose, it sets the port published on your machine.
CALSYNC_BIND- The address the page listens on. Default
127.0.0.1. The Docker image listens on all addresses inside the container, and Compose publishes the port to this machine only. CALSYNC_HOSTS- Extra host names allowed to reach the page, separated by commas.
CALSYNC_PUBLIC_URL- The https address, if you put calsync behind your own proxy. It is used as Google's sign-in return address.
CALSYNC_TZ- The time zone for quick add text, agendas and .ics times that name none.
With Docker Compose, put these in your shell or in a .env file next to compose.yaml. Compose passes CALSYNC_TZ, CALSYNC_HOSTS, CALSYNC_PUBLIC_URL and CALSYNC_PORT through.
Reaching it from other machines
By default only the machine running calsync can reach the page. Before you expose it to the internet, put it behind your own HTTPS proxy. Then set CALSYNC_PUBLIC_URL to the proxy's https address and CALSYNC_HOSTS to its host name. Sign-ins and tokens are on that machine, so treat it like a password manager.
Through a proxy, the first visit always asks for the setup code, even though the proxy runs on the same machine. Wrong passwords and setup codes are limited to a few a minute, so the page can't be guessed, and someone hammering it can lock it for a minute at a time. A private network such as a VPN is safer than the open internet.
Lost a laptop that was signed in? Settings has Sign out on every device, which ends every session at once.
Optional notes features
Three extras are switched on in config.json inside the calsync folder. They are all optional.
quick_add- New lines starting with "- " in a Markdown note become events.
agenda- Writes a Markdown agenda and refreshes the Calendar section of daily notes, for Obsidian-style folders.
export- Writes one .ics file per source calendar, with real events only.