Planka
Project management and Kanban board application.
Overview
Planka is an open-source project management tool with Kanban boards, similar to Trello.
Access: https://tasks.janvv.nl Container: CT 122 IP: 192.168.144.60 Port: 1337
Source Code
Docker Compose & Install Script: github.com/opajanvv/homelab-docker/tree/main/planka
Local copy: ~/dev/homelab-docker/planka/
Deployment
# Clone LXC template
pct clone 902 122 --hostname planka --full
pct set 122 --cores 1 --memory 1024
pct set 122 -net0 name=eth0,bridge=vmbr0,firewall=1,gw=192.168.144.1,ip=192.168.144.60/23
pct set 122 -mp0 /lxcdata/planka,mp=/data
pct set 122 -features nesting=1,keyctl=1
pct set 122 -onboot 1
# Add AppArmor workaround
cat >> /etc/pve/lxc/122.conf << 'EOF'
lxc.apparmor.profile: unconfined
lxc.mount.entry: /dev/null sys/module/apparmor/parameters/enabled none bind 0 0
EOF
# Deploy
pct start 122
pct exec 122 -- bash -c 'systemctl enable --now docker'
pct exec 122 -- bash -c 'git clone https://github.com/opajanvv/homelab-docker.git /opt/homelab-docker'
pct exec 122 -- bash -c 'cd /opt/homelab-docker/planka && chmod +x install.sh && ./install.sh'Configuration
Stack: PostgreSQL database + Planka application
Environment Variables:
BASE_URL- https://tasks.janvv.nlSECRET_KEY- Application secretPOSTGRES_DB- plankaPOSTGRES_USER- postgres- Database uses trust authentication (no password from Docker network)
Data Locations:
/data/postgresql/- PostgreSQL data/data/planka/- Planka application data/data/attachments/- File attachments/data/project-background-images/- Board backgrounds/data/user-avatars/- User avatars/opt/homelab-docker/planka/- Docker Compose config
Access
- Web UI: https://tasks.janvv.nl
- Direct: http://192.168.144.60:1337
First Visit: Create admin account
Backup
What to backup:
/lxcdata/planka/postgres/- Database/lxcdata/planka/avatars/- User data/lxcdata/planka/background-images/- Custom backgrounds/lxcdata/planka/attachments/- Uploaded files
Database dump:
pct exec 122 -- bash -c 'docker exec postgres pg_dumpall -U planka' > planka-backup.sqlRestore database:
cat planka-backup.sql | pct exec 122 -- bash -c 'docker exec -i postgres psql -U planka'Full backup:
rsync -av /lxcdata/planka/ /backup/homelab/planka/Maintenance
Update:
pct exec 122 -- bash -c 'cd /opt/homelab-docker/planka && docker compose pull && docker compose up -d'View logs:
pct exec 122 -- bash -c 'cd /opt/homelab-docker/planka && docker compose logs -f'Restart:
pct exec 122 -- bash -c 'cd /opt/homelab-docker/planka && docker compose restart'Common Tasks
Create project: Via web UI Invite users: Via web UI (share link or invite) Customize boards: Via web UI