PLANKA

A Kanban-style project management tool for everyone

Access

Open your browser and visit: https://<SERVER_IP>

A browser SSL warning is expected due to the self-signed certificate.

Create an admin user by running the following command on the server:

cd /opt/planka && docker compose run --rm planka npm run db:create-admin-user

Log in using the newly created admin account.

Important Files and Directories

  • Install directory: /opt/planka
  • Docker Compose file: /opt/planka/docker-compose.yml
  • App data volume: /var/lib/docker/volumes/planka_data/_data
  • PostgreSQL data volume: /var/lib/docker/volumes/planka_db-data/_data
  • Custom terms directory: /opt/planka/terms
  • Nginx config: /etc/nginx/sites-available/planka
  • Enabled site: /etc/nginx/sites-enabled/planka
  • SSL certificates: /etc/nginx/ssl/fullchain.pem, /etc/nginx/ssl/privkey.pem

Common Management Commands

cd /opt/planka

# Check running containers
docker ps

# Logs (live)
docker compose logs -f

# Restart services
docker compose restart

# Stop stack
docker compose down

# Start stack
docker compose up -d

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit docker-compose.yml to set your domain as BASE_URL: BASE_URL=https://yourdomain.com

3. Restart PLANKA services:

cd /opt/planka/
docker compose up -d

4. Edit Nginx config and replace both server_name <IP>; with your domain (<yourdomain.com>) for both HTTP (port 80) and HTTPS (port 443) blocks:

vim /etc/nginx/sites-available/planka

5. Install Certbot:

apt install -y certbot python3-certbot-nginx

6. Run the following command to generate a valid Let’s Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

7. Replace SSL paths in Nginx config:

vim /etc/nginx/sites-available/planka
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

8. Restart Nginx to apply the changes:

systemctl restart nginx

9. Open your browser and visit: https://yourdomain.com

Application Details