---
title: "Deploy Planka"
description: "Self-hosted Kanban boards for collaborative project management."
category: "Other"
url: https://railway.com/deploy/planka-1
---

# Deploy Planka

Self-hosted Kanban boards for collaborative project management.

**[Deploy Planka on Railway](https://railway.com/template/planka-1)**

- **Creator:** Agastya Fauzan Alfath's Projects
- **Category:** Other

## Template content

### Planka

- **Image:** ghcr.io/plankanban/planka:2.1.1
- **Health check:** /
- **Public domain:** Yes

### Postgres

- **Image:** postgres:16.13-alpine3.23@sha256:4e6e670bb069649261c9c18031f0aded7bb249a5b6664ddec29c013a89310d50

## Documentation

# 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](https://railway.com/button.svg)](https://railway.com/deploy/planka-1)

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

- [Planka 2.1.1 source and release](https://github.com/plankanban/planka/tree/2.1.1)
- [Official production Docker installation](https://docs.planka.cloud/docs/installation/docker/production-version)
- [Official administrator configuration](https://docs.planka.cloud/docs/configuration/admin-user)
- [Official container image](https://github.com/plankanban/planka/pkgs/container/planka)
- [Umbrel Planka deployment contract](https://github.com/getumbrel/umbrel-apps/tree/master/planka)

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


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] 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/planka-1
