diff --git a/Dockerfile b/Dockerfile index c53bc3e..7148a40 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,9 +41,17 @@ RUN \ rm -rf /var/lib/apt/lists/* ENV DOCKERIZE_VERSION v0.6.1 -RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz + +ARG ARCH + +ENV ARCH_E ${ARCH} + +RUN if [ "$ARCH_E" = "ARM" ] ; then wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + && tar -C /usr/local/bin -xzvf dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + && rm dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + ; else wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ + && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ + && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz ; fi WORKDIR /opt/cartesi diff --git a/README.md b/README.md index 33e88f7..eea0942 100644 --- a/README.md +++ b/README.md @@ -21,11 +21,28 @@ or using the http address: git clone --recurse-submodules https://github.com/cartesi/descartes.git ``` +### Building + +To build the Docker image, use the following command + +```shell +docker build . -t cartesi/descartes +``` + +#### Building for ARM + +To build the Docker image for ARM, use the following argument to specify an ARM build + +```shell +docker build --build-arg ARCH=ARM . -t cartesi/descartes +``` + + + ### Running To run execute: ``` -% docker build . -t cartesi/descartes % yarn % rm deploy_done % jinja2 -D num_players=2 docker-compose-template.yml | docker-compose -f - up --build diff --git a/deployer/Dockerfile b/deployer/Dockerfile index f612496..8d1dd10 100644 --- a/deployer/Dockerfile +++ b/deployer/Dockerfile @@ -1,4 +1,4 @@ -FROM node:12-alpine +FROM node:14.15-alpine3.12 # install dockerize, as we need to wait on ganache to be responding RUN apk add --no-cache \ @@ -10,10 +10,18 @@ RUN apk add --no-cache \ py-pip ENV DOCKERIZE_VERSION v0.6.1 -RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz +ARG ARCH + +ENV ARCH_E ${ARCH} + +RUN if [ "$ARCH_E" = "ARM" ] ; then wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + && tar -C /usr/local/bin -xzvf dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + && rm dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz \ + ; else wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ + && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ + && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz ; fi + ENV BASE /opt/cartesi RUN yarn global add truffle@5.1.8