Browse Source

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

Update Docker.md for docker compose commands and building custom docker image
Lauri Ojansivu 10 months ago
parent
commit
a94cfd5b91
1 changed files with 54 additions and 10 deletions
  1. 54 10
      docs/Platforms/FOSS/Docker/Docker.md

+ 54 - 10
docs/Platforms/FOSS/Docker/Docker.md

@@ -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)