Railway

Deploy Planka

Self-hosted Kanban boards for collaborative project management.

Deploy Planka

Just deployed

/app/data

Just deployed

/var/lib/postgresql/data

Deploy and Host Planka on Railway

Planka is a self-hosted, real-time Kanban application for collaborative project management. Teams can organize work into projects, boards, lists, and cards; assign members; add labels, due dates, comments, and attachments; and keep changes synchronized across connected browsers while retaining control of their project data.

Published on Railway: https://railway.com/deploy/planka-1

Deploy on Railway

About Hosting Planka

Hosting Planka requires the application container, PostgreSQL, a public HTTPS URL, and durable storage for database records and uploaded files. This template runs Planka 2.1.1 on its documented port 1337, connects it to PostgreSQL 16 through Railway private networking, and mounts one application volume at /app/data. That unified Planka v2 data directory preserves user avatars, project background images, favicons, and attachments. Railway generates the database, session, and initial-administrator secrets, terminates TLS at the public domain, checks Planka's root page for health, and lets the image initialize or migrate the database during startup.

Common Use Cases

  • Coordinate software, operations, and creative projects with collaborative Kanban boards
  • Track personal tasks, household plans, and volunteer work without a hosted SaaS account
  • Give small teams a self-hosted alternative to Trello with comments, labels, due dates, and attachments

Dependencies for Planka Hosting

  • PostgreSQL 16 for users, projects, boards, cards, and other relational application data
  • Persistent Railway volumes for PostgreSQL and Planka's uploaded avatars, backgrounds, and attachments

Deployment Dependencies

Implementation Details

  • Planka: ghcr.io/plankanban/planka:2.1.1, public port 1337, health path /, and a persistent volume at /app/data. Planka v2 stores user avatars in protected/user-avatars, background images in protected/background-images, and attachments in private/attachments below that mount.
  • Postgres: Umbrel-compatible postgres:16.13-alpine3.23, private port 5432, and a persistent volume at /var/lib/postgresql/data with PGDATA below the mount root.
  • Private references: DATABASE_URL comes from the Postgres service, while BASE_URL is exactly https://${{Planka.RAILWAY_PUBLIC_DOMAIN}}.
  • Generated credentials: Railway generates the database password, Planka SECRET_KEY, and initial administrator password. The supported DEFAULT_ADMIN_* variables create the administrator during database initialization, preventing an unauthenticated first-user claim flow.
  • Startup: the official image runs node db/init.js before starting the server, which initializes or migrates the database. Its built-in health check requests http://localhost:1337/, matching the Railway health path.
  • Port override: PORT=1337 prevents Railway's generic image default from overriding Planka's documented listener port, keeping the application, public domain, and health check aligned.

Why Deploy Planka 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 Planka 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
[Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
31
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