
Planka is an open-source, Kanban-style project management platform used to organize tasks, work together with teams, and track project progress. It provides a web interface for managing boards, lists, and cards. Planka is widely used for software development, team task management, and product roadmap planning.
This article explains how to deploy Planka on a Linux server using Docker Compose, with a PostgreSQL backend and Traefik providing automatic HTTPS. It covers directory setup, environment variable configuration, deployment, creating a secure administrator account, and demonstrating core task management features through the web interface.
Before you begin, you need to:
planka.example.com).Planka requires a configuration file to define environment variables, database connections, and application settings. The setup includes persistent storage for project boards and user assets to ensure data is retained across server restarts, and uses Traefik to automatically secure the web interface with HTTPS.
Create the project directory.
Navigate to the project directory.
Generate a secure secret key for the Planka application.
Save the output for use in the environment file.
Create an environment file to store configuration variables.
Add the following configuration. Replace planka.example.com with your domain name, admin@example.com with your email address, YOUR_GENERATED_SECRET_KEY with the output from the previous openssl command, and STRONG_DATABASE_PASSWORD with a secure password.
Save and close the file.
The deployment stack consists of Traefik for reverse proxy and certificate management, plus the Planka container with mounted configuration and databases. This configuration uses the official Planka container image version 2.1.1.
Create the Docker Compose manifest.
Add the following content.
Save and close the file.
In the above manifest:
traefik: Serves as the reverse proxy and TLS termination point. It listens on ports 80 and 443, automatically redirects HTTP to HTTPS, and provisions Let's Encrypt certificates.postgres: Runs PostgreSQL 16 as the primary database for storing project boards, lists, tasks, and user profiles.planka: Runs the Planka web application server and provides the Kanban board interface.Launch the containers.
Verify that the services are running.
The output displays all containers in an Up state, with a healthy status shown for planka-db because it is the only service with a configured health check.
Create the administrator account.
When prompted, enter your administrator email, password, and name. Optionally, enter a username.
View the service logs to confirm Planka loaded the configuration successfully.
The output displays PostgreSQL accepting connections and Planka starting without errors.
For more information on managing a Docker Compose stack, see the How to Use Docker Compose article.
After deployment, access the Planka web interface to log in with the administrator account and configure the workspace.
Replace planka.example.com with your configured domain and open https://planka.example.com in a web browser.
Enter the administrator email and password you created in the previous step.
Click Log in.
On the End User Terms of Service screen, check the I have read and accept these End User Terms of Service checkbox and click Continue to access the main project dashboard.
The following steps create a basic Kanban board, populate it with tasks, and grant access to a team member to verify that the application's core features are functional.
Projects are the top-level container for boards in Planka.
Team Collaboration Project.A board holds the lists and cards that track work within a project.
Development Tasks.Lists represent workflow stages, and cards represent individual tasks within them.
Open the Development Tasks board.
Click Add list to create workflow columns.
Create the following workflow lists:
To DoIn ProgressCompletedClick Add card under the To Do list, enter a task name such as Set up CI pipeline, and press Enter.
Repeat to add cards to the In Progress and Completed lists.
Drag a card from one list to another to verify that task movement works correctly.
Adding a user account and granting it board access verifies that Planka's collaboration features work as expected.
Development Tasks board.This confirms that the application can handle real-time collaboration and user access control across the domain.
You have deployed Planka on a Linux server using Docker Compose with Traefik for automatic HTTPS and PostgreSQL for persistent data storage. The setup provides a self-hosted Kanban board platform with real-time collaboration and user access control. For advanced features including custom branding, OIDC integration, and email notifications, refer to the official Planka documentation.
0 Comments
Be the first to comment and share your perspective with the community.