docker.recipes

WeKan Kanban Board

beginner

Open-source Trello-like kanban board for project management.

Overview

WeKan is an open-source kanban board application that provides a complete Trello alternative for teams seeking privacy and control over their project management data. Originally forked from LibreBoard in 2015, WeKan has evolved into a feature-rich platform supporting card attachments, checklists, due dates, calendar integration, and comprehensive user management with role-based permissions. The application emphasizes data ownership and can be deployed entirely on-premises without any external dependencies. This configuration pairs WeKan with MongoDB 6 as the primary data store, leveraging MongoDB's flexible document structure to handle WeKan's dynamic board schemas, card hierarchies, and user activity streams. MongoDB's robust aggregation framework enables WeKan's advanced filtering and search capabilities across boards, while its change streams support real-time collaboration features like live card updates and notifications. This stack serves organizations requiring private project management infrastructure, development teams needing customizable workflow tools, and educational institutions seeking cost-effective collaboration platforms. The combination provides enterprise-grade project management capabilities while maintaining complete data sovereignty and customization flexibility that hosted solutions cannot match.

Key Features

  • Multi-board kanban interface with drag-and-drop card management and swimlanes
  • Hierarchical card structure supporting subtasks, checklists, and nested comments
  • Real-time collaboration with live updates and activity feeds powered by MongoDB change streams
  • REST API enabling integration with external tools and custom automation workflows
  • Advanced user management with organization-level permissions and board-specific roles
  • Calendar integration displaying due dates and milestones across multiple boards
  • Trello import functionality preserving board structure, cards, and user assignments
  • Customizable card templates and label systems for standardized project workflows

Common Use Cases

  • 1Software development teams managing sprint backlogs and feature development workflows
  • 2Marketing departments coordinating campaign launches and content creation pipelines
  • 3Educational institutions organizing course projects and student collaboration spaces
  • 4Non-profit organizations tracking volunteer activities and fundraising campaigns
  • 5Small businesses managing client projects and internal process improvement initiatives
  • 6Remote teams requiring self-hosted collaboration tools with data privacy compliance
  • 7Agile coaches implementing customized project management methodologies across organizations

Prerequisites

  • Minimum 2GB RAM for MongoDB database operations and WeKan application server
  • Available port 8080 for WeKan web interface access
  • ROOT_URL environment variable configured with your domain or IP address
  • Docker host with at least 10GB free disk space for application data and MongoDB collections
  • Basic understanding of kanban methodology and project management concepts
  • Network access for initial WeKan container image download (approximately 500MB)

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 wekan:
3 image: ghcr.io/wekan/wekan:latest
4 container_name: wekan
5 environment:
6 - WRITABLE_PATH=/data
7 - MONGO_URL=mongodb://db:27017/wekan
8 - ROOT_URL=${ROOT_URL}
9 - WITH_API=true
10 - RICHER_CARD_COMMENT_EDITOR=true
11 - SCROLLINERTIA=0
12 - SCROLLAMOUNT=auto
13 - BIGEVENTS_PATTERN=NONE
14 - BROWSER_POLICY_ENABLED=true
15 volumes:
16 - wekan-data:/data
17 ports:
18 - "8080:8080"
19 depends_on:
20 - db
21 networks:
22 - wekan-network
23 restart: unless-stopped
24
25 db:
26 image: mongo:6
27 container_name: wekan-db
28 volumes:
29 - mongo-data:/data/db
30 networks:
31 - wekan-network
32 restart: unless-stopped
33
34volumes:
35 wekan-data:
36 mongo-data:
37
38networks:
39 wekan-network:
40 driver: bridge

.env Template

.env
1# WeKan
2ROOT_URL=http://localhost:8080

Usage Notes

  1. 1Web UI at http://localhost:8080
  2. 2Register first user as admin
  3. 3Import boards from Trello
  4. 4Supports subtasks, labels, due dates
  5. 5REST API available

Individual Services(2 services)

Copy individual services to mix and match with your existing compose files.

wekan
wekan:
  image: ghcr.io/wekan/wekan:latest
  container_name: wekan
  environment:
    - WRITABLE_PATH=/data
    - MONGO_URL=mongodb://db:27017/wekan
    - ROOT_URL=${ROOT_URL}
    - WITH_API=true
    - RICHER_CARD_COMMENT_EDITOR=true
    - SCROLLINERTIA=0
    - SCROLLAMOUNT=auto
    - BIGEVENTS_PATTERN=NONE
    - BROWSER_POLICY_ENABLED=true
  volumes:
    - wekan-data:/data
  ports:
    - "8080:8080"
  depends_on:
    - db
  networks:
    - wekan-network
  restart: unless-stopped
db
db:
  image: mongo:6
  container_name: wekan-db
  volumes:
    - mongo-data:/data/db
  networks:
    - wekan-network
  restart: unless-stopped

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 wekan:
5 image: ghcr.io/wekan/wekan:latest
6 container_name: wekan
7 environment:
8 - WRITABLE_PATH=/data
9 - MONGO_URL=mongodb://db:27017/wekan
10 - ROOT_URL=${ROOT_URL}
11 - WITH_API=true
12 - RICHER_CARD_COMMENT_EDITOR=true
13 - SCROLLINERTIA=0
14 - SCROLLAMOUNT=auto
15 - BIGEVENTS_PATTERN=NONE
16 - BROWSER_POLICY_ENABLED=true
17 volumes:
18 - wekan-data:/data
19 ports:
20 - "8080:8080"
21 depends_on:
22 - db
23 networks:
24 - wekan-network
25 restart: unless-stopped
26
27 db:
28 image: mongo:6
29 container_name: wekan-db
30 volumes:
31 - mongo-data:/data/db
32 networks:
33 - wekan-network
34 restart: unless-stopped
35
36volumes:
37 wekan-data:
38 mongo-data:
39
40networks:
41 wekan-network:
42 driver: bridge
43EOF
44
45# 2. Create the .env file
46cat > .env << 'EOF'
47# WeKan
48ROOT_URL=http://localhost:8080
49EOF
50
51# 3. Start the services
52docker compose up -d
53
54# 4. View logs
55docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/wekan-board/run | bash

Troubleshooting

  • WeKan shows 'Cannot connect to database' error: Verify MongoDB container is running and check MONGO_URL environment variable matches service name 'db'
  • Cards not updating in real-time across browsers: Restart WeKan container to reinitialize MongoDB change stream connections
  • Trello import fails with timeout errors: Increase MongoDB memory allocation and ensure sufficient disk space for board data migration
  • WeKan interface loads but boards appear empty: Check MongoDB data persistence by verifying mongo-data volume mount and database connectivity
  • API requests return authentication errors: Confirm WITH_API=true environment variable is set and restart WeKan container to enable REST endpoints
  • File attachments not displaying properly: Verify wekan-data volume permissions and WRITABLE_PATH environment variable configuration

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space