---
title: "Deploy kan.bn"
description: "The open-source project management alternative to Trello."
category: "Other"
url: https://railway.com/deploy/kanbn
---

# Deploy kan.bn

The open-source project management alternative to Trello.

**[Deploy kan.bn on Railway](https://railway.com/template/kanbn)**

- **Creator:** Rees
- **Category:** Other
- **Total deploys:** 61

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:16

### kanbn/kan:latest https://avatars.githubusercontent.com/u/142905364

- **Image:** ghcr.io/kanbn/kan:latest
- **Health check:** /
- **Public domain:** Yes

## Documentation

# Deploy and Host kan.bn on Railway

**kan.bn** is a modern, open-source Kanban board application that brings powerful project management to your team. With features like board visibility controls, workspace collaboration, Trello imports, labels &amp; filters, comments, and detailed activity logging - all while maintaining full control over your data.

## About Hosting kan.bn

### Post-Deployment Setup

Once both services are running:

1.  Click on the `kanbn` service and visit the `.railway.app` domain generated for it — you can also generate your own if you’d like!
2.  Click on the **Get started** button to create an account. The first account created will be the admin account.

## Dependencies for kan.bn Hosting

### Deployment Dependencies

| Service | Version | Purpose | Source Image |
| --- | --- | --- | --- |
| kan.bn | latest | Kanban board application | [GitHub](https://github.com/kanbn/kan/pkgs/container/kan) |
| PostgreSQL | 16  | Database with SSL | [railwayapp-templates](https://github.com/railwayapp-templates/postgres-ssl/pkgs/container/postgres-ssl) |

### Environment Variables

**Core Configuration (Required)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `NEXT_PUBLIC_BASE_URL` | Yes | `https://${{RAILWAY_PUBLIC_DOMAIN}}`<br>Base URL of your installation |
| `BETTER_AUTH_SECRET` | Yes | `${{secret()}}`<br>Auth encryption secret |
| `POSTGRES_URL` | Yes | `${{Postgres.DATABASE_URL}}`<br>PostgreSQL connection URL |

**SMTP Configuration (Optional)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `SMTP_HOST` | No  | Empty<br>SMTP server hostname |
| `SMTP_PORT` | No  | Empty<br>SMTP server port |
| `SMTP_USER` | No  | Empty<br>SMTP username/email |
| `SMTP_PASSWORD` | No  | Empty<br>SMTP password/token |
| `SMTP_SECURE` | No  | Empty<br>Use secure SMTP connection (defaults to true if not set) |
| `EMAIL_FROM` | No  | Empty<br>Sender email address |

**S3 Storage Configuration (Optional)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `S3_REGION` | No  | Empty<br>S3 storage region |
| `S3_ENDPOINT` | No  | Empty<br>S3 endpoint URL |
| `S3_ACCESS_KEY_ID` | No  | Empty<br>S3 access key |
| `S3_SECRET_ACCESS_KEY` | No  | Empty<br>S3 secret key |
| `NEXT_PUBLIC_STORAGE_URL` | No  | Empty<br>Storage service URL |
| `NEXT_PUBLIC_STORAGE_DOMAIN` | No  | Empty<br>Storage domain name |
| `NEXT_PUBLIC_AVATAR_BUCKET_NAME` | No  | Empty<br>S3 bucket name for avatars |

**Auth Config (Optional)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `NEXT_PUBLIC_ALLOW_CREDENTIALS` | No  | `true`<br>Allow email &amp; password login |
| `NEXT_PUBLIC_DISABLE_SIGN_UP` | No  | Empty<br>Disable sign up |
| `BETTER_AUTH_TRUSTED_ORIGINS` | No  | Empty<br>Allowed callback origins |

**Integration Providers (Optional)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `TRELLO_APP_API_KEY` | No  | Empty<br>Trello app API key |
| `TRELLO_APP_API_SECRET` | No  | Empty<br>Trello app API secret |

**OAuth Providers (All Optional)**

| Variable | Required | Default Value &amp; Description |
| --- | --- | --- |
| `GITHUB_CLIENT_ID` | No  | Empty<br>GitHub OAuth client ID |
| `GITHUB_CLIENT_SECRET` | No  | Empty<br>GitHub OAuth client secret |
| `GOOGLE_CLIENT_ID` | No  | Empty<br>Google OAuth client ID |
| `GOOGLE_CLIENT_SECRET` | No  | Empty<br>Google OAuth client secret |
| `DISCORD_CLIENT_ID` | No  | Empty<br>Discord OAuth client ID |
| `DISCORD_CLIENT_SECRET` | No  | Empty<br>Discord OAuth client secret |
| `MICROSOFT_CLIENT_ID` | No  | Empty<br>Microsoft OAuth client ID |
| `MICROSOFT_CLIENT_SECRET` | No  | Empty<br>Microsoft OAuth client secret |
| `APPLE_CLIENT_ID` | No  | Empty<br>Apple OAuth client ID |
| `APPLE_CLIENT_SECRET` | No  | Empty<br>Apple OAuth client secret |
| `TWITTER_CLIENT_ID` | No  | Empty<br>Twitter OAuth client ID |
| `TWITTER_CLIENT_SECRET` | No  | Empty<br>Twitter OAuth client secret |
| `GITLAB_CLIENT_ID` | No  | Empty<br>GitLab OAuth client ID |
| `GITLAB_CLIENT_SECRET` | No  | Empty<br>GitLab OAuth client secret |
| `GITLAB_ISSUER` | No  | Empty<br>GitLab OAuth issuer |
| `REDDIT_CLIENT_ID` | No  | Empty<br>Reddit OAuth client ID |
| `REDDIT_CLIENT_SECRET` | No  | Empty<br>Reddit OAuth client secret |
| `LINKEDIN_CLIENT_ID` | No  | Empty<br>LinkedIn OAuth client ID |
| `LINKEDIN_CLIENT_SECRET` | No  | Empty<br>LinkedIn OAuth client secret |
| `SPOTIFY_CLIENT_ID` | No  | Empty<br>Spotify OAuth client ID |
| `SPOTIFY_CLIENT_SECRET` | No  | Empty<br>Spotify OAuth client secret |
| `TWITCH_CLIENT_ID` | No  | Empty<br>Twitch OAuth client ID |
| `TWITCH_CLIENT_SECRET` | No  | Empty<br>Twitch OAuth client secret |
| `TIKTOK_CLIENT_ID` | No  | Empty<br>TikTok OAuth client ID |
| `TIKTOK_CLIENT_SECRET` | No  | Empty<br>TikTok OAuth client secret |
| `TIKTOK_CLIENT_KEY` | No  | Empty<br>TikTok OAuth client key |
| `ZOOM_CLIENT_ID` | No  | Empty<br>Zoom OAuth client ID |
| `ZOOM_CLIENT_SECRET` | No  | Empty<br>Zoom OAuth client secret |
| `VK_CLIENT_ID` | No  | Empty<br>VK OAuth client ID |
| `VK_CLIENT_SECRET` | No  | Empty<br>VK OAuth client secret |
| `ROBLOX_CLIENT_ID` | No  | Empty<br>Roblox OAuth client ID |
| `ROBLOX_CLIENT_SECRET` | No  | Empty<br>Roblox OAuth client secret |
| `KICK_CLIENT_ID` | No  | Empty<br>Kick OAuth client ID |
| `KICK_CLIENT_SECRET` | No  | Empty<br>Kick OAuth client secret |
| `DROPBOX_CLIENT_ID` | No  | Empty<br>Dropbox OAuth client ID |
| `DROPBOX_CLIENT_SECRET` | No  | Empty<br>Dropbox OAuth client secret |
| `APPLE_APP_BUNDLE_IDENTIFIER` | No  | Empty<br>Apple app bundle identifier |

### Resource Requirements

- **Memory**: ~500MB
- **CPU**: Minimal
- **Storage**: No volume; database grows with usage

## Troubleshooting

For common issues and community support, visit the [Railway Community Forum](https://station.railway.com/templates/kan-bn-c9e8686e).

## Template Changelog

- **5 July, 2025**
    - Removed URL-based S3 variables from the template defaults as, despite being empty, they were breaking the installation
    - Set **Healthcheck Path** to `/`
- **3 July, 2025**
    - Initial template release on Railway

---

## Common Use Cases

- **Project Management** - Organize tasks, track progress, and manage deadlines with intuitive Kanban boards
- **Team Collaboration** - Invite team members, assign tasks, add comments, and track activity across workspaces
- **Trello Migration** - Seamlessly import existing Trello boards while gaining enhanced privacy and control
- **Agile Development** - Manage sprints, user stories, and development workflows with labels and filters
- **Personal Productivity** - Create private boards for personal task management and goal tracking

## Why Deploy kan.bn on Railway?

Railway is a singular platform to deploy 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.bn 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.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/kanbn
