Update Docker.md for docker compose commands and building custom docker image

Update Docker.md for docker compose commands and building custom docker image
This commit is contained in:
Lauri Ojansivu 2024-08-19 11:03:58 +03:00 committed by GitHub
parent 6d6d51310e
commit a94cfd5b91
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,3 +1,47 @@
## 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
- [GitHub](https://github.com/wekan/wekan/pkgs/container/wekan)
@ -12,7 +56,7 @@ export ROOT_URL=http://SERVER-IP-ADDRESS-HERE
```
Then start WeKan with:
```
docker-compose up -d
docker compose up -d
```
SSL/TLS info at https://github.com/wekan/wekan/wiki/Settings
@ -35,7 +79,7 @@ There is much more settings at well-documented [docker-compose.yml](https://raw.
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
docker compose up -d
```
If you like to build from source, clone Wekan repo:
@ -46,7 +90,7 @@ Then edit docker-compose.yml with [these lines uncommented](https://github.com/w
```
#-------------------------------------------------------------------------------------
# ==== BUILD wekan-app DOCKER CONTAINER FROM SOURCE, if you uncomment these ====
# ==== and use commands: docker-compose up -d --build
# ==== and use commands: docker compose up -d --build
build:
context: .
dockerfile: Dockerfile
@ -62,7 +106,7 @@ Then edit docker-compose.yml with [these lines uncommented](https://github.com/w
```
Then you can build Wekan with
```
docker-compose up -d --build
docker compose up -d --build
```
## Example for latest Wekan, port 2000 to Docker Wekan internal port 8080
@ -112,7 +156,7 @@ 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
docker compose up -d
```
### Images
Quay: `image: quay.io/wekan/wekan:v4.07`
@ -206,25 +250,25 @@ docker run -d --restart=always --name wekan --link "wekan-db:db" -e "MONGO_URL=m
- No build step and pull from [quay](https://quay.io/repository/wekan/wekan?tab=tags)
```
sudo docker-compose up -d --nobuild
sudo docker compose up -d --nobuild
```
- Build default
```
sudo docker-compose up -d --build
sudo docker compose up -d --build
```
- Build with newer Node version:
```
echo 'NODE_VERSION=v8.11.1' >> .env && \
sudo docker-compose up -d --build
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
sudo docker compose up -d --build
```
## Docker env for Wekan dev
@ -239,4 +283,4 @@ sudo docker-compose up -d --build
* [Caddy Webserver Config](Caddy-Webserver-Config)
* [Nginx Webserver Config](Nginx-Webserver-Config)
* [Apache Webserver Config](Apache)
* [Apache Webserver Config](Apache)