Skip to content

Calends 1.27.0

Choose a tag to compare

@imetn imetn released this 05 Nov 07:07
· 6 commits to main since this release

Calends 1.27 adds one-line installation and upgrades for Debian/Ubuntu, detects visitor IPs automatically behind reverse proxies, and fixes owned carpools in the overview bubble chart.

Highlights

  • One-line install and upgrade. Run curl -fsSL https://calends.date/install.sh | sudo bash on Debian or Ubuntu with systemd. The installer supplies its own SHA-256-verified Node runtime, backs up existing data before upgrading, preserves configuration and restores the previous program and data after a failed or interrupted upgrade. It starts Calends on a local port (127.0.0.1:8787 by default); configure your domain and reverse proxy yourself. Tested in Debian 12 and Ubuntu 24.04 VMs; sustained operation on a real small-memory VPS has not been verified.
  • Automatic visitor IP detection. Self-hosted Calends now reads X-Forwarded-For only for local, private, Cloudflare or explicitly trusted connections, selecting the first untrusted address from the right. TRUST_PROXY no longer takes a hop count; usually leave it unset.

Fixes

  • The overview bubble chart shows carpools you own at their full subscription amount, including fully recovered ones. Paid-on-behalf subscriptions remain excluded; reports and composition still use your own share.

Upgrading

No new database migrations or read-time data conversions. Docker users keep the same data volume and ports. Cloudflare deployments are unaffected by the proxy change.

If you set TRUST_PROXY=N in 1.26.0, you can remove it: numeric values now mean automatic detection. Use TRUST_PROXY=off if Calends can also be reached directly by untrusted visitors on the same private network. This also applies when Docker presents internet connections as its gateway. A comma-separated IP/CIDR list adds trusted proxies, such as another CDN.

Nginx must append the forwarding header, otherwise clients can forge the IP used for login rate limiting:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Restrict the published port to the proxy. See the self-hosting guide for the full configuration rules.

For systemd installations, the release includes calends-1.27.0.tar.gz and its .sha256 checksum. The same one-line command installs or upgrades; it does not install Caddy or Nginx.

Images

Multi-architecture images (linux/amd64, linux/arm64) are available from Docker Hub and GitHub Container Registry:

docker pull xizozhe/calends:1.27.0
docker pull ghcr.io/imetn/calends:1.27.0

The 1.27 tags follow this release series; latest follows main.