---
title: "Deploy Calnode"
description: "Self-hosted Calendly alternative: booking pages, SQLite, one binary"
category: "Automation"
url: https://railway.com/deploy/calnode-1
---

# Deploy Calnode

Self-hosted Calendly alternative: booking pages, SQLite, one binary

**[Deploy Calnode on Railway](https://railway.com/template/calnode-1)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/calnode-1/manifest.json

- **Creator:** zer0person's Projects
- **Category:** Automation
- **Total deploys:** 1

## Template content

### Calnode

- **Image:** ghcr.io/calnode/calnode:latest
- **Public domain:** Yes

## Documentation

# Deploy and Host Calnode on Railway

[Calnode](https://github.com/Calnode/calnode) is a lean, self-hosted scheduling tool, an alternative to Calendly and Cal.com. It is a single Go binary with an embedded admin UI, public booking pages and a SQLite database.

## About Hosting Calnode

This template runs the official `ghcr.io/calnode/calnode:latest` image with a persistent volume at `/data` for the SQLite database. The public URL, the encryption key and the recovery secret are filled in for you. Open the URL, you are redirected to `/admin/`, and the first-run setup asks you to create the owner account, connect a calendar and add an event type. Keep the generated `CALNODE_ENCRYPTION_KEY` and `CALNODE_RECOVERY_SECRET` (service Variables) somewhere safe: losing them makes encrypted data unrecoverable. Email can be set up later in Settings, Email.

## Common Use Cases

- Let clients book meetings on your own calendar through a public booking page
- Run team scheduling with owner, admin and member roles
- Automate bookings through the API, webhooks or MCP

## Dependencies for Calnode Hosting

- One service with a volume; nothing else

### Deployment Dependencies

- [Calnode on GitHub](https://github.com/Calnode/calnode)
- [Deployment guide](https://github.com/Calnode/calnode/blob/main/DEPLOY.md)

## Why Deploy Calnode on Railway?

Railway gives you a public HTTPS URL, a persistent volume and automatic restarts with no server to maintain. Open the URL after the deploy to create the owner account.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/calnode-1
