Docker - cloudron-io/wekan GitHub Wiki
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:4
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 quay.io/wekan/wekan
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