Table of Contents
- Building custom Docker image
- Docker Containers
- Please only use Docker release tags
- Repair Docker
- Using only Docker commands
- Note: docker-compose.yml works
- Example for latest Wekan, port 2000 to Docker Wekan internal port 8080
- DockerBunker: Easy Docker management
- CaptainDuckDuck
- Backup and Upgrade
- Cleanup
- Docker Compose
- OpenShift
- SLES
- Rancher
- Testing
- Production
- External MongoDB auth
- Admin Panel
- Docker Hub - sometimes broken
- Development:
- Docker env for Wekan dev
- Alpine, needs testing
- Webserver Config
Building custom Docker image
This is only for developers. For normal users, do not add these options, just start with docker compose up -d
This only builds wekan-app
Docker image, where is Node.js 14.x and all Javascript code. This does not build wekan-db
MongoDB image, that usually does not require modifications.
Alpine Linux does not work properly with current Meteor 2 based WeKan. Ubuntu works, and has newest security fixes.
Only amd64 currently works. Currently used Node.js 14.x segfaults at arm64 and s390x. Only Node.js 14.x is compatible with current version of Meteor 2 based WeKan. Trying to upgrade is in progress https://github.com/wekan/wekan/issues/5475
Dockerfile is at https://raw.githubusercontent.com/wekan/wekan/main/Dockerfile
For building custom image, and then running it, uncomment these lines, that are currently here, but line numbers could change, if that docker-compose.yml is later modified:
https://github.com/wekan/wekan/blob/main/docker-compose.yml#L144-L146
After your above modifications, text should look like this:
#-------------------------------------------------------------------------------------
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
# ==== and use commands: docker compose up -d --build
build:
context: .
dockerfile: Dockerfile
#-------------------------------------------------------------------------------------
Then modify ROOT_URL, etc settings as needed, see https://github.com/wekan/wekan/wiki/Settings
Start WeKan with custom built Dockerfile with this command:
docker compose up -d --build
If you like to only build Dockerfile:
docker build .
You can also push your image to some Docker registry, like here it's done for WeKan:
https://github.com/wekan/wekan/blob/main/releases/docker-push-wekan.sh
Docker Containers
docker-compose.yml at https://github.com/wekan/wekan
Edit it to have IP address of your server
export ROOT_URL=http://SERVER-IP-ADDRESS-HERE
Then start WeKan with:
docker compose up -d
SSL/TLS info at https://github.com/wekan/wekan/wiki/Settings
Please only use Docker release tags
Repair Docker
Using only Docker commands
Note: docker-compose.yml works
There is much more settings at well-documented docker-compose.yml, those can also be added to be used below.
If you don't need to build Wekan, use prebuilt container with docker-compose.yml from https://github.com/wekan/wekan like this:
docker compose up -d
If you like to build from source, clone Wekan repo:
git clone https://github.com/wekan/wekan
Then edit docker-compose.yml with these lines uncommented this way:
#-------------------------------------------------------------------------------------
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
# ==== and use commands: docker compose up -d --build
build:
context: .
dockerfile: Dockerfile
args:
- NODE_VERSION=${NODE_VERSION}
- METEOR_RELEASE=${METEOR_RELEASE}
- NPM_VERSION=${NPM_VERSION}
- ARCHITECTURE=${ARCHITECTURE}
- SRC_PATH=${SRC_PATH}
- METEOR_EDGE=${METEOR_EDGE}
- USE_EDGE=${USE_EDGE}
#-------------------------------------------------------------------------------------
Then you can build Wekan with
docker compose up -d --build
Example for latest Wekan, port 2000 to Docker Wekan internal port 8080
docker run -d --restart=always --name wekan-db mongo:5
docker run -d --restart=always --name wekan --link "wekan-db:db" -e "WITH_API=true" -e "MONGO_URL=mongodb://wekan-db:27017/wekan" -e "ROOT_URL=http://192.168.1.200:2000" -p 2000:8080 wekanteam/wekan:v5.41
Specific release in above URL, not latest:
quay.io/wekan/wekan:v3.37
For latest development version, use without tag:
quay.io/wekan/wekan
DockerBunker: Easy Docker management
Managing Docker containers with DockerBunker
CaptainDuckDuck
Managing Docker containers with CaptainDuckDuck
Backup and Upgrade
Import/Export MongoDB data to/from Docker container
Move Docker containers to other computer, needs more details
Backup before upgrade
docker stop wekan-app
docker exec -it wekan-db bash
cd /data
rm -rf dump
mongodump
exit
docker start wekan-app
docker cp wekan-db:/data/dump .
Upgrade
docker stop wekan-app
docker rm wekan-app
Then edit docker-compose.yml to have higher wekan-app image version tag, like image: wekanteam/wekan:v4.12
. Then:
docker compose up -d
Images
Quay: image: quay.io/wekan/wekan:v4.07
Docker Hub: image: wekanteam/wekan:v4.07
Restore
docker stop wekan-app
docker exec -it wekan-db bash
cd /data
rm -rf dump
exit
docker cp dump wekan-db:/data/
docker exec -it wekan-db bash
cd /data
mongorestore --drop
exit
docker start wekan-app
Cleanup
Cleanup and delete all Docker data to get Docker Compose working
Cleanup scripts to remove old data
Docker Compose
Docker Compose: Wekan <=> MongoDB. REQUIRED: READ AND ADD SETTINGS LIKE ROOT_URL ETC TO docker-compose.yml textfile. It also has info about using same MongoDB database for office and VPN users.
Docker Compose: Wekan <=> MongoDB <=> ToroDB => PostgreSQL read-only mirroring
TODO: Docker Compose: Wekan <=> MongoDB <=> ToroDB => MySQL read-only mirroring
OpenShift
SLES
Rancher
Testing
Production
Production setup for thousands of users with Docker at AWS
External MongoDB auth
External MongoDB authentication
Admin Panel
First registered Wekan user will get Admin Panel on new Docker and source based installs. You can also enable Admin Panel manually
Docker Hub - sometimes broken
Currently there are two dockerhub builds for wekan. One at mquandalle dockerhub and another at wekanteam dockerhub.
wekanteam dockerhub is usually broken.
Development:
docker run
examples
- MongoDB:
docker run -d --restart=always --name wekan-db mongo:3.2.20
- No build step, pull from the quay and specify docker variables
docker run -d --restart=always --name wekan --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:8080" -p 8080:8080 quay.io/wekan/wekan
docker-compose
examples
- No build step and pull from quay
sudo docker compose up -d --nobuild
- Build default
sudo docker compose up -d --build
- Build with newer Node version:
echo 'NODE_VERSION=v8.11.1' >> .env && \
sudo docker compose up -d --build
- Build custom image off a release candidate or beta for meteor
echo 'METEOR_EDGE=1.5-beta.17' >> .env && \
echo 'USE_EDGE=true' >> .env && \
sudo docker compose up -d --build
Docker env for Wekan dev
Alpine, needs testing
Webserver Config
Wekan
General
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
Fake: Not WeKan kanban
Security
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
Scaling
- Cron: Hourly restart WeKan, because of memory leaks
- Maybe: Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
Migrating
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
Support priorities for new features and bugfixes
Backup
Repair
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
Themes
Markdown Syntax
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
Login Auth
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
Metrics, Logs, Stats
Integrations
Time
Features
- Multiline
- Linked Cards
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
Required Settings
Download
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
Webservers
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
REST API Docs
REST API issue
REST API client code
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
Webhooks
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order
Case Studies
Development
- Kadira integration
- Debugging
- Developer Docs for Standalone Wekan
- Developer Docs for Sandstorm Wekan
- Adding new Snap setting to code
- Directory Structure
- Building Wekan for Sandstorm
- Docs - Sandstorm etc
- Beginner
- Maintainer FAQ
Issues
Wekan - OpenSource Kanban