mirror of
https://github.com/wekan/wekan.git
synced 2025-12-17 16:00:13 +01:00
242 lines
6.8 KiB
Markdown
242 lines
6.8 KiB
Markdown
|
|
## Docker Containers
|
||
|
|
|
||
|
|
- [GitHub](https://github.com/wekan/wekan/pkgs/container/wekan)
|
||
|
|
- [Docker Hub](https://hub.docker.com/r/wekanteam/wekan)
|
||
|
|
- [Quay](https://quay.io/repository/wekan/wekan)
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
[Repair Docker](Repair-Docker)
|
||
|
|
|
||
|
|
## Using only Docker commands
|
||
|
|
|
||
|
|
[](https://quay.io/repository/wekan/wekan)
|
||
|
|
|
||
|
|
[Many tags available](https://quay.io/repository/wekan/wekan?tab=tags)
|
||
|
|
|
||
|
|
## Note: docker-compose.yml works
|
||
|
|
|
||
|
|
There is much more settings at well-documented [docker-compose.yml](https://raw.githubusercontent.com/wekan/wekan/master/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](https://github.com/wekan/wekan/blob/main/docker-compose.yml#L132-L142) 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](https://github.com/chaosbunker/dockerbunker)
|
||
|
|
|
||
|
|
## CaptainDuckDuck
|
||
|
|
|
||
|
|
[Managing Docker containers with CaptainDuckDuck](https://github.com/wekan/wekan/issues/1375#issuecomment-413626075)
|
||
|
|
|
||
|
|
## Backup and Upgrade
|
||
|
|
|
||
|
|
[Import/Export MongoDB data to/from Docker container](Export-Docker-Mongo-Data)
|
||
|
|
|
||
|
|
[Move Docker containers to other computer](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](https://github.com/wekan/wekan/issues/985)
|
||
|
|
|
||
|
|
[Cleanup scripts to remove old data](https://github.com/wekan/wekan-cleanup)
|
||
|
|
|
||
|
|
## Docker Compose
|
||
|
|
|
||
|
|
[Docker Compose: Wekan <=> MongoDB](https://github.com/wekan/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](https://github.com/wekan/wekan-postgresql)
|
||
|
|
|
||
|
|
TODO: [Docker Compose: Wekan <=> MongoDB <=> ToroDB => MySQL read-only mirroring](https://github.com/torodb/stampede/issues/203)
|
||
|
|
|
||
|
|
## OpenShift
|
||
|
|
|
||
|
|
[OpenShift](OpenShift)
|
||
|
|
|
||
|
|
## SLES
|
||
|
|
|
||
|
|
[SLES SP1](Install-Wekan-Docker-on-SUSE-Linux-Enterprise-Server-12-SP1)
|
||
|
|
|
||
|
|
## Rancher
|
||
|
|
|
||
|
|
[Rancher Rancher Active Proxy](Rancher---Rancher-Active-Proxy---Wekan-MongoDB-Docker)
|
||
|
|
|
||
|
|
## Testing
|
||
|
|
|
||
|
|
[Install for testing](Install-Wekan-Docker-for-testing)
|
||
|
|
|
||
|
|
## Production
|
||
|
|
|
||
|
|
[Production setup for thousands of users with Docker at AWS](AWS)
|
||
|
|
|
||
|
|
[Other way to do production](Install-Wekan-Docker-in-production)
|
||
|
|
|
||
|
|
## External MongoDB auth
|
||
|
|
|
||
|
|
[External MongoDB authentication](https://github.com/wekan/wekan/issues/1375)
|
||
|
|
|
||
|
|
## Admin Panel
|
||
|
|
|
||
|
|
First registered Wekan user will get Admin Panel on new Docker and source based
|
||
|
|
installs. You can also [enable Admin Panel manually](https://github.com/wekan/wekan/blob/main/CHANGELOG.md#v0111-rc2-2017-03-05-wekan-prerelease)
|
||
|
|
|
||
|
|
## Docker Hub - sometimes broken
|
||
|
|
|
||
|
|
Currently there are two dockerhub builds for wekan. One at [mquandalle dockerhub](https://hub.docker.com/r/mquandalle/wekan/builds/) and another at [wekanteam dockerhub](https://hub.docker.com/r/wekanteam/wekan/builds/).
|
||
|
|
|
||
|
|
[wekanteam dockerhub](https://hub.docker.com/r/wekanteam/wekan/builds/) 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](https://quay.io/repository/wekan/wekan?tab=tags) 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](https://quay.io/repository/wekan/wekan?tab=tags)
|
||
|
|
|
||
|
|
```
|
||
|
|
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
|
||
|
|
|
||
|
|
* [Docker environment for Wekan Development](https://github.com/wekan/wekan-dev)
|
||
|
|
|
||
|
|
## Alpine, needs testing
|
||
|
|
|
||
|
|
* [Docker Compose: Alpine Linux and Wekan <=> MongoDB](https://github.com/wekan/wekan-launchpad)
|
||
|
|
|
||
|
|
## Webserver Config
|
||
|
|
|
||
|
|
* [Caddy Webserver Config](Caddy-Webserver-Config)
|
||
|
|
* [Nginx Webserver Config](Nginx-Webserver-Config)
|
||
|
|
* [Apache Webserver Config](Apache)
|