Deploy kanboard

Minimalist Kanban project management with boards, tasks and an API

Deploy kanboard

/var/lib/postgresql/data

Just deployed

/var/www/app/data

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

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 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.


Template Content

More templates in this category

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

codestorm
51
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
52