Railway

Deploy Kan | (Just Updated) Trello Alternative You Can Actually Sign Into

Open-source Trello alternative. Email sign-in works, no OAuth app needed.

Deploy Kan | (Just Updated) Trello Alternative You Can Actually Sign Into

Just deployed

Just deployed

/var/lib/postgresql

Deploy and Host Kan on Railway

Kan is an open-source Trello alternative: boards, lists, cards, labels, members, comments, checklists, activity history, public board sharing and Trello import. This template deploys it as two services — the Kan app and a Postgres database — and asks you for nothing.

About Hosting Kan

Kan ships upstream as two containers: the Next.js web app, and a separate run-once kan-migrate container that applies the drizzle schema. Railway starts every service in a project at the same time, so a template that models the migration as its own service starts the web app against an empty database and leaves a job container sitting in the project afterwards with nothing to do.

This template runs the migration inside the app container's entrypoint, before the server accepts a request, so the ordering is real rather than a race. The app image is a thin wrapper over the official ghcr.io/kanbn/kan release, pinned by digest, so redeploying six months from now gets the same build you tested — not whatever latest moved to.

Kan also needs to know its own public origin: unset, Better Auth signs cookies for localhost, sign-in bounces and workspace invite links point somewhere that does not exist. Railway only knows the domain at run time, so the entrypoint derives NEXT_PUBLIC_BASE_URL, BETTER_AUTH_URL and BETTER_AUTH_TRUSTED_ORIGINS from RAILWAY_PUBLIC_DOMAIN on every boot. A custom domain works the same way — set NEXT_PUBLIC_BASE_URL yourself and the entrypoint leaves it alone.

Two failure modes are turned into refusals rather than silent damage. With no POSTGRES_URL, Kan falls back to an in-container PGLite file and every board disappears on the next redeploy; with no BETTER_AUTH_SECRET, sessions are forgeable. The entrypoint exits with a named error on either instead of booting into them. The template wires both, and generates the auth secret per deploy — it is not a constant shared by everyone who clicked deploy.

Postgres carries a volume at /var/lib/postgresql, so your boards survive redeploys. Kan is a normal Next.js server and fits comfortably inside Railway's 1 GB Trial per-service memory cap.

Why Deploy Kan on Railway?

Railway is a singular platform for deploying your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Kan on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Common Use Cases

  • Replace a Trello board for a team that would rather own its data.
  • Run a private project tracker on your own domain, with your own Postgres.
  • Import existing Trello boards through Kan's built-in Trello import.
  • Share a read-only public board without giving anyone an account.
  • Stand up a throwaway kanban instance for a client engagement and delete it after.

Dependencies for Kan

  • A Postgres database (included in this template).

Deployment Dependencies

No API keys, SMTP server or OAuth application is required to deploy. SMTP, Google/GitHub/Discord OAuth, Trello import credentials and S3 storage are all optional Kan features; add their variables later if you want them.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
40
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51