---
title: "Deploy kanboard"
description: "Minimalist Kanban project management with boards, tasks and an API"
category: "Other"
url: https://railway.com/deploy/kanboard-3
---

# Deploy kanboard

Minimalist Kanban project management with boards, tasks and an API

**[Deploy kanboard on Railway](https://railway.com/template/kanboard-3)**

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

- **Creator:** Agaz Self-Host
- **Category:** Other

## Template content

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

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

### kanboard https://cdn.jsdelivr.net/gh/selfhst/icons/svg/kanboard.svg

- **Image:** kanboard/kanboard:v1.2.57@sha256:637989624e5362af2b97bfb4be1936fb6b111ea7cbdffea0ae8bd3068dc84125
- **Start command:** `bash -c "echo IyEvYmluL2Jhc2gKIyBSYWlsd2F5IHN0YXJ0IGZvciBrYW5ib2FyZC9rYW5ib2FyZDogbGlzdGVuIG9uICRQT1JULCBwZXJzaXN0IHBsdWdpbnMgb24gdGhlIGRhdGEgdm9sdW1lLAojIHJlcGxhY2UgdGhlIGRlZmF1bHQgYWRtaW4vYWRtaW4gcGFzc3dvcmQgYmVmb3JlIHRoZSB3ZWIgc2VydmVyIHN0YXJ0cy4Kc2V0IC1lCmV4cG9ydCBEQl9EUklWRVI9IiR7REJfRFJJVkVSOi1wb3N0Z3Jlc30iClA9IiR7UE9SVDotODB9IgojIFJhaWx3YXkgdGVybWluYXRlcyBUTFM6IGRyb3AgdGhlIGluLWNvbnRhaW5lciA0NDMgbGlzdGVuZXIgKGl0cyBjZXJ0IGRpciBpcyBhIERvY2tlciBWT0xVTUUgUmFpbHdheSBuZXZlciBjcmVhdGVzKQpzZWQgLWkgLWUgInMvbGlzdGVuICAqODA7L2xpc3RlbiAkUDsvIiAtZSAiL2xpc3RlbiAgKjQ0MyBzc2w7L2QiIC1lICIvXiAqc3NsXy9kIiAvZXRjL25naW54L25naW54LmNvbmYKbWtkaXIgLXAgL2V0Yy9uZ2lueC9zc2wKIyBSYWlsd2F5IGhlYWx0aCBwYXRocyBjYW5ub3QgY29udGFpbiBhIGRvdDogc2VydmUgdGhlIHVwc3RyZWFtIERCIGhlYWx0aCBjaGVjayBhdCAvaGVhbHRoeiB0b28KZ3JlcCAtcSAibG9jYXRpb24gPSAvaGVhbHRoeiIgL2V0Yy9uZ2lueC9uZ2lueC5jb25mIHx8IHNlZCAtaSAicyNeXCggKlwpbG9jYXRpb24gLyB7I1wxbG9jYXRpb24gPSAvaGVhbHRoeiB7IHJld3JpdGUgXiAvaGVhbHRoY2hlY2sucGhwIGxhc3Q7IH1cblwxbG9jYXRpb24gLyB7IyIgL2V0Yy9uZ2lueC9uZ2lueC5jb25mCm1rZGlyIC1wIC92YXIvd3d3L2FwcC9kYXRhL3BsdWdpbnMKaWYgWyAhIC1MIC92YXIvd3d3L2FwcC9wbHVnaW5zIF07IHRoZW4KICB7IHJtIC1yZiAvdmFyL3d3dy9hcHAvcGx1Z2lucyAyPi9kZXYvbnVsbCAmJiBsbiAtcyAvdmFyL3d3dy9hcHAvZGF0YS9wbHVnaW5zIC92YXIvd3d3L2FwcC9wbHVnaW5zOyB9IHx8IGVjaG8gImthbmJvYXJkOiAvdmFyL3d3dy9hcHAvcGx1Z2lucyBpcyBhIHNlcGFyYXRlIG1vdW50LCBsZWF2aW5nIGl0IgpmaQpjYXQgPiAvdG1wL2tiLWFkbWluLnBocCA8PCdQSFAnCjw/cGhwCnJlcXVpcmUgJy92YXIvd3d3L2FwcC9hcHAvY29tbW9uLnBocCc7CiRtID0gJGNvbnRhaW5lclsndXNlck1vZGVsJ107CiR1ID0gJG0tPmdldEJ5VXNlcm5hbWUoJ2FkbWluJyk7CmlmICgkdSAmJiBwYXNzd29yZF92ZXJpZnkoJ2FkbWluJywgJHVbJ3Bhc3N3b3JkJ10pKSB7CiAgICAkcHcgPSAoc3RyaW5nKSBnZXRlbnYoJ0tBTkJPQVJEX0FETUlOX1BBU1NXT1JEJyk7CiAgICBpZiAoc3RybGVuKCRwdykgPCA4IHx8ICRwdyA9PT0gJ2FkbWluJykgeyBmd3JpdGUoU1RERVJSLCAiYWRtaW4gc3RpbGwgaGFzIHRoZSBkZWZhdWx0IHBhc3N3b3JkOiBzZXQgS0FOQk9BUkRfQURNSU5fUEFTU1dPUkQgKDgrIGNoYXJzKVxuIik7IGV4aXQoMik7IH0KICAgIGlmICghJG0tPnVwZGF0ZShbJ2lkJyA9PiAkdVsnaWQnXSwgJ3Bhc3N3b3JkJyA9PiAkcHddKSkgeyBmd3JpdGUoU1RERVJSLCAiY291bGQgbm90IGNoYW5nZSB0aGUgYWRtaW4gcGFzc3dvcmRcbiIpOyBleGl0KDMpOyB9CiAgICBlY2hvICJrYW5ib2FyZDogZGVmYXVsdCBhZG1pbiBwYXNzd29yZCByZXBsYWNlZCB3aXRoIEtBTkJPQVJEX0FETUlOX1BBU1NXT1JEXG4iOwp9ClBIUApuPTAKdW50aWwgcGhwIC90bXAva2ItYWRtaW4ucGhwOyBkbwogIHJjPSQ/OyBbICRyYyAtZXEgMiBdIHx8IFsgJHJjIC1lcSAzIF0gJiYgZXhpdCAkcmMKICBuPSQoKG4rMSkpOyBbICRuIC1nZSA2MCBdICYmIHsgZWNobyAia2FuYm9hcmQ6IGRhdGFiYXNlIG5vdCByZWFjaGFibGUiOyBleGl0IDE7IH0KICBlY2hvICJrYW5ib2FyZDogd2FpdGluZyBmb3IgdGhlIGRhdGFiYXNlICgkbikiOyBzbGVlcCAzCmRvbmUKcm0gLWYgL3RtcC9rYi1hZG1pbi5waHAKZXhlYyAvdXNyL2xvY2FsL2Jpbi9lbnRyeXBvaW50LnNoCg== | base64 -d > /tmp/railway-start.sh && exec bash /tmp/railway-start.sh"`
- **Health check:** /healthz
- **Public domain:** Yes

## Documentation

# Deploy and Host Kanboard on Railway

Kanboard is a free, open-source project management tool built around the Kanban method. It gives you boards with columns and swimlanes, tasks with subtasks, comments, attachments and due dates, plus automatic actions, per-project permissions, a JSON-RPC API and a plugin system. It is written in PHP and is deliberately minimal.

## About Hosting Kanboard

Hosting Kanboard means running its web server (nginx and PHP-FPM in the official image), a database, and persistent storage for uploaded files. This template runs the official `kanboard/kanboard` v1.2.57 image, pinned by digest, with Railway PostgreSQL connected over the private network. One volume holds attachments, avatars and plugins. A short start command makes nginx listen on Railway's port and swaps Kanboard's built-in `admin`/`admin` account for a generated password before the site goes live, so a new deployment is never left open. Railway terminates HTTPS and checks the database-backed health endpoint.

## Common Use Cases

* Track a small team's work on Kanban boards with columns, swimlanes and WIP limits
* Run a self-hosted, lightweight replacement for Trello or Jira-style task boards
* Automate task workflows or connect other tools through Kanboard's JSON-RPC API

## Dependencies for Kanboard Hosting

* PostgreSQL (Railway's managed Postgres service) for users, projects, tasks and settings
* A Railway volume at `/var/www/app/data` for attachments, avatars and plugins

### Deployment Dependencies

* [Kanboard v1.2.57 release](https://github.com/kanboard/kanboard/releases/tag/v1.2.57)
* [Official Docker image](https://hub.docker.com/r/kanboard/kanboard) and [Docker docs](https://docs.kanboard.org/v1/admin/docker/)
* [Configuration reference](https://docs.kanboard.org/v1/admin/config/)
* [JSON-RPC API docs](https://docs.kanboard.org/v1/api/)

### Implementation Details

**First login:** the username is `admin`, and the password is the generated `KANBOARD_ADMIN_PASSWORD` variable on the `kanboard` service. Change it under *My profile* after you log in. The variable is used only while the account still has the upstream default password. If that variable is empty at that point, the service refuses to start rather than run with `admin`/`admin`.

**API:** the application API token is under *Settings → API*. Call `https://YOUR-RAILWAY-DOMAIN/jsonrpc.php` with HTTP Basic auth, username `jsonrpc` and that token as the password. Users can also authenticate with their own username and password.

**What the start command does** (the official entrypoint runs afterwards):

* sets `DB_DRIVER=postgres` (the `DB_*` variables are references to the Postgres service)
* makes nginx listen on `PORT` and drops the in-container HTTPS listener (Railway serves HTTPS)
* adds `/healthz` as the health path, which runs Kanboard's own `healthcheck.php` database check
* links `/var/www/app/plugins` into the volume, so plugins survive redeploys
* waits for Postgres, runs the database migrations and replaces the default admin password

**Optional settings:** add any variable from Kanboard's [configuration reference](https://docs.kanboard.org/v1/admin/config/) to the `kanboard` service. For example, use `MAIL_TRANSPORT=smtp` with the `MAIL_SMTP_*` and `MAIL_FROM` variables for email notifications, `PLUGIN_INSTALLER=true` to install plugins from the web UI, or `LDAP_*` for directory logins.

## Why Deploy Kanboard 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 Kanboard 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/kanboard-3
