Planka behind Traefik with docker-compose
What is Planka?
Planka is an elegant open-source project tracking tool. It offers a range of features including the ability to create projects, boards, lists, cards, labels, and tasks.
Additionally, users can add card members, track time, set a due date, add attachments, write comments, and utilize markdown support in card descriptions and comments.
The platform also allows for filtering by members and labels, customization of project backgrounds, real-time updates, user notifications, and internationalization.
Getting Started
Requirements
To start with Gotify behined the Traefik you need to follow the instructions from the traefik with docker-compose post.
Optional you can keep this service up to date with the instructions from the watchtower with docker-compose post.
Create your docker-compose.yml
## docker-compose.yml
version: '3.8'
# network is optional just needed with gotify
networks:
default:
name: "demo_planka_db_net"
external: false
traefik:
name: "traefik_net"
external: true
services:
planka:
container_name: "demo_planka"
image: "ghcr.io/plankanban/planka:latest"
user: "1000"
command: >
bash -c
"for i in `seq 1 30`; do
./start.sh &&
s=$$? && break || s=$$?;
echo \"Tried $$i times. Waiting 5 seconds...\";
sleep 5;
done; (exit $$s)"
restart: "unless-stopped"
volumes:
- "./data/planka/user-avatars:/app/public/user-avatars"
- "./data/planka/project-background-images:/app/public/project-background-images"
- "./data/planka/attachments:/app/private/attachments"
networks:
- "traefik"
environment:
- "BASE_URL=https://planka.localhost"
- "TRUST_PROXY=0"
- "DATABASE_URL=postgresql://postgres@db/planka"
- "SECRET_KEY=${SECRET_KEY}"
# DEFAULT_ variables can be removed after installation
- "[email protected]" # Do not remove to prevent this user from being edited/deleted
- "DEFAULT_ADMIN_PASSWORD=Password.1"
- "DEFAULT_ADMIN_NAME=planka admin"
- "DEFAULT_ADMIN_USERNAME=admin"
depends_on:
- "db"
labels:
# Watchtower add to auto update ( optional )
- "com.centurylinklabs.watchtower.enable=true"
# traefik
- "traefik.enable=true"
- "traefik.docker.network=traefik_net"
- "traefik.http.routers.demo_planka.rule=Host(`planka.localhost`)"
- "traefik.http.services.demo_planka.loadbalancer.server.port=1337"
- "traefik.http.routers.demo_planka.entrypoints=websecure"
- "traefik.http.routers.demo_planka.tls=true"
db:
container_name: "demo_planka_db"
image: "postgres:alpine"
restart: "unless-stopped"
labels:
# Watchtower add to auto update ( oprional )
- "com.centurylinklabs.watchtower.enable=true"
# traefik
- "traefik.enable=false"
volumes:
- "./data/db:/var/lib/postgresql/data"
environment:
- "POSTGRES_DB=planka"
- "POSTGRES_HOST_AUTH_METHOD=trust"
Start your docker-compse.yml
Now you can start your service with:
docker compose up -d
Access planka
Now you can access planka at https://planka.localhost.
If you used the sample from above, you can login with:
User: admin
Password: Password.1
you can find the example on my git server.