Uses docker to compile the GMD node for Linux/MacOS.
Two builds are created:
- Java build Build is created in output/ directory. OpenJDK is included in build.
docker
- Output jar files and start.sh / start.bat scripts can be found in /output.
- Docker is required only to build the GMD Node, not required to run it.
docker-compose up --build gmd-build-jar
- Docker is required at build-time and also at runtime, in order to run the image.
- Image is created and exported in output-docker-image/ directory alongside a docker-compose.yml used to start the image.
- To run it, import the image gmd-node.tar on the target macine by using
docker image load -i gmd-node.tar
. And run it on the target machine by doing adocker-compose up -d
in the directory where generateddocker-compose.yml
. If target machine is the same as build machine, there is no need to load the image.
- To run it, import the image gmd-node.tar on the target macine by using
docker-compose up --build gmd-build-img
- Reverse proxy can be used to enable https instead of current http protocol on port 6876.
- To build the reverse proxy
cd rproxy
docker build -t coopnetwork/gmd-reverse-proxy-ng .
- To run it use
docker-compose-rproxy.yml
file fromoutput-docker-image
like this:docker-compose -f docker-compose-rproxy.yml up -d
- The docker-compose runtime files are Docker Swarm ready. They can be used in a docker swarm without additional changes.
- For https (tls) you need to have the fullchain.pem and privkey.pem in /etc/cert/ dir of the target host.
- These 2 files can be for example symbolic link to /etc/letsencrypt/live/.../fullchain.pem and privkey.pem as they are generated by certbot.
- Path and name of certificates can be adapted in docker-compose yml files on the left side operand
- The docker images built above are also available already built on Docker Hub
- https://hub.docker.com/repository/docker/coopnetwork/gmd-node
- https://hub.docker.com/repository/docker/coopnetwork/gmd-reverse-proxy-ng
- These images can be run like this:
- Without rproxy:
cd ../run-docker-node/ && docker-compose up -d
- With rproxy:
cd ../run-docker-node/ && docker-compose -f docker-compose-rproxy.yml up -d
- Without rproxy: