WeKan Kanban Board
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:latest4 container_name: wekan5 environment: 6 - WRITABLE_PATH=/data7 - MONGO_URL=mongodb://db:27017/wekan8 - ROOT_URL=${ROOT_URL}9 - WITH_API=true10 - RICHER_CARD_COMMENT_EDITOR=true11 - SCROLLINERTIA=012 - SCROLLAMOUNT=auto13 - BIGEVENTS_PATTERN=NONE14 - BROWSER_POLICY_ENABLED=true15 volumes: 16 - wekan-data:/data17 ports: 18 - "8080:8080"19 depends_on: 20 - db21 networks: 22 - wekan-network23 restart: unless-stopped2425 db: 26 image: mongo:627 container_name: wekan-db28 volumes: 29 - mongo-data:/data/db30 networks: 31 - wekan-network32 restart: unless-stopped3334volumes: 35 wekan-data: 36 mongo-data: 3738networks: 39 wekan-network: 40 driver: bridge.env Template
.env
1# WeKan2ROOT_URL=http://localhost:8080Usage Notes
- 1Web UI at http://localhost:8080
- 2Register first user as admin
- 3Import boards from Trello
- 4Supports subtasks, labels, due dates
- 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 file2cat > docker-compose.yml << 'EOF'3services:4 wekan:5 image: ghcr.io/wekan/wekan:latest6 container_name: wekan7 environment:8 - WRITABLE_PATH=/data9 - MONGO_URL=mongodb://db:27017/wekan10 - ROOT_URL=${ROOT_URL}11 - WITH_API=true12 - RICHER_CARD_COMMENT_EDITOR=true13 - SCROLLINERTIA=014 - SCROLLAMOUNT=auto15 - BIGEVENTS_PATTERN=NONE16 - BROWSER_POLICY_ENABLED=true17 volumes:18 - wekan-data:/data19 ports:20 - "8080:8080"21 depends_on:22 - db23 networks:24 - wekan-network25 restart: unless-stopped2627 db:28 image: mongo:629 container_name: wekan-db30 volumes:31 - mongo-data:/data/db32 networks:33 - wekan-network34 restart: unless-stopped3536volumes:37 wekan-data:38 mongo-data:3940networks:41 wekan-network:42 driver: bridge43EOF4445# 2. Create the .env file46cat > .env << 'EOF'47# WeKan48ROOT_URL=http://localhost:808049EOF5051# 3. Start the services52docker compose up -d5354# 4. View logs55docker compose logs -fOne-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 | bashTroubleshooting
- 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
Components
wekanmongodb
Tags
#kanban#trello-alternative#wekan#project-management
Category
Productivity & CollaborationAd Space
Shortcuts: C CopyF FavoriteD Download