diff --git a/parachain/docker/Dockerfile b/parachain/docker/Dockerfile index a6fc72bc82..15635da8b8 100644 --- a/parachain/docker/Dockerfile +++ b/parachain/docker/Dockerfile @@ -26,7 +26,7 @@ LABEL maintainer="Trust Computing GmbH " ARG PROFILE -COPY --from=builder /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/ +COPY --from=local-builder:latest /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/ # install netcat for healthcheck RUN apt-get update && \ @@ -58,8 +58,8 @@ FROM ubuntu:22.04 AS chain-aio LABEL maintainer="Trust Computing GmbH " ARG PROFILE -ENV NVM_DIR /opt/nvm -ENV ZOMBIENET_VERSION v1.3.109 +ENV NVM_DIR=/opt/nvm +ENV ZOMBIENET_VERSION=v1.3.109 # install netcat for healthcheck RUN apt-get update && \ @@ -84,7 +84,7 @@ RUN apt-get update && \ nvm install 18 && \ nvm use 18 && \ apt-get clean && \ - rm -rf /var/cache/apt/lists + rm -rf /var/cache/apt/lists RUN echo "downloading zombienet-linux-x64 ..." && \ curl -L -s -O "https://github.com/paritytech/zombienet/releases/download/$ZOMBIENET_VERSION/zombienet-linux-x64" && \ @@ -95,8 +95,8 @@ RUN echo "downloading zombienet-linux-x64 ..." && \ RUN useradd -m -u 1000 -U -s /bin/sh -d /litentry litentry && \ mkdir -p /opt/litentry/parachain /code && \ chown -R litentry:litentry /opt/litentry - -COPY --from=builder /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/ + +COPY --from=local-builder:latest /litentry/parachain/target/$PROFILE/litentry-collator /usr/local/bin/ RUN chmod +x /usr/local/bin/litentry-collator && \ # check if executable works in this container /usr/local/bin/litentry-collator --version diff --git a/parachain/scripts/build-docker.sh b/parachain/scripts/build-docker.sh index 9f7e41f455..bae10a63a8 100755 --- a/parachain/scripts/build-docker.sh +++ b/parachain/scripts/build-docker.sh @@ -47,9 +47,9 @@ GITUSER=litentry GITREPO=litentry-parachain PROXY="${HTTP_PROXY//localhost/host.docker.internal}" -# Build the image +# Build the local-builder image echo "------------------------------------------------------------" -echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..." +echo "Building local-builder:latest docker image ..." docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \ --build-arg PROFILE="$PROFILE" \ --build-arg BUILD_ARGS="$ARGS" \ @@ -59,26 +59,15 @@ docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \ --build-arg https_proxy="$PROXY" \ --add-host=host.docker.internal:host-gateway \ --network host \ - --target parachain \ - -t ${GITUSER}/${GITREPO}:${TAG} . - -# Tag it with latest if no tag parameter was provided -[ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest - -# Show the list of available images for this repo -echo "Image is ready" -echo "------------------------------------------------------------" -docker images | grep ${GITREPO} + --target builder \ + --tag local-builder:latest . -# =================================================================================== -GITUSER=litentry -GITREPO=litentry-chain-aio -PROXY="${HTTP_PROXY//localhost/host.docker.internal}" +docker images # Build the image echo "------------------------------------------------------------" echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..." -docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \ +docker build ${NOCACHE_FLAG} -f ./parachain/docker/Dockerfile \ --build-arg PROFILE="$PROFILE" \ --build-arg BUILD_ARGS="$ARGS" \ --build-arg HTTP_PROXY="$PROXY" \ @@ -87,8 +76,8 @@ docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \ --build-arg https_proxy="$PROXY" \ --add-host=host.docker.internal:host-gateway \ --network host \ - --target chain-aio \ - -t ${GITUSER}/${GITREPO}:${TAG} . + --target parachain \ + --tag ${GITUSER}/${GITREPO}:${TAG} . # Tag it with latest if no tag parameter was provided [ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest @@ -96,4 +85,34 @@ docker build ${NOCACHE_FLAG} --pull -f ./parachain/docker/Dockerfile \ # Show the list of available images for this repo echo "Image is ready" echo "------------------------------------------------------------" -docker images | grep ${GITREPO} \ No newline at end of file +docker images | grep ${GITREPO} + +# =================================================================================== +if [ -z "$2" ] || [ "$TAG" = "latest" ]; then + GITUSER=litentry + GITREPO=litentry-chain-aio + PROXY="${HTTP_PROXY//localhost/host.docker.internal}" + + # Build the image + echo "------------------------------------------------------------" + echo "Building ${GITUSER}/${GITREPO}:${TAG} docker image ..." + docker build ${NOCACHE_FLAG} -f ./parachain/docker/Dockerfile \ + --build-arg PROFILE="$PROFILE" \ + --build-arg BUILD_ARGS="$ARGS" \ + --build-arg HTTP_PROXY="$PROXY" \ + --build-arg HTTPS_PROXY="$PROXY" \ + --build-arg http_proxy="$PROXY" \ + --build-arg https_proxy="$PROXY" \ + --add-host=host.docker.internal:host-gateway \ + --network host \ + --target chain-aio \ + --tag ${GITUSER}/${GITREPO}:${TAG} . + + # Tag it with latest if no tag parameter was provided + [ -z "$2" ] && docker tag ${GITUSER}/${GITREPO}:${TAG} ${GITUSER}/${GITREPO}:latest + + # Show the list of available images for this repo + echo "Image is ready" + echo "------------------------------------------------------------" + docker images | grep ${GITREPO} +fi diff --git a/tee-worker/bitacross/build.Dockerfile b/tee-worker/bitacross/build.Dockerfile index a9c342461e..d3f5fda9d3 100644 --- a/tee-worker/bitacross/build.Dockerfile +++ b/tee-worker/bitacross/build.Dockerfile @@ -23,11 +23,11 @@ FROM litentry/litentry-tee-dev:latest AS builder LABEL maintainer="Trust Computing GmbH " # set environment variables -ENV SGX_SDK /opt/sgxsdk -ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" -ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" -ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" -ENV CARGO_NET_GIT_FETCH_WITH_CLI true +ENV SGX_SDK=/opt/sgxsdk +ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" +ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" +ENV CARGO_NET_GIT_FETCH_WITH_CLI=true ENV SCCACHE_CACHE_SIZE="20G" ENV SCCACHE_DIR="/opt/rust/sccache" @@ -81,8 +81,8 @@ LABEL maintainer="Trust Computing GmbH " ARG SCRIPT_DIR=/usr/local/worker-cli ARG LOG_DIR=/usr/local/log -ENV SCRIPT_DIR ${SCRIPT_DIR} -ENV LOG_DIR ${LOG_DIR} +ENV SCRIPT_DIR=${SCRIPT_DIR} +ENV LOG_DIR=${LOG_DIR} COPY --from=local-builder:latest /home/ubuntu/tee-worker/bitacross/bin/bitacross-cli /usr/local/bin COPY --from=local-builder:latest /home/ubuntu/tee-worker/bitacross/cli/*.sh /usr/local/worker-cli/ @@ -114,8 +114,8 @@ RUN chmod +x /usr/local/bin/bitacross-worker RUN ls -al /usr/local/bin # checks -ENV SGX_SDK /opt/sgxsdk -ENV SGX_ENCLAVE_SIGNER $SGX_SDK/bin/x64/sgx_sign +ENV SGX_SDK=/opt/sgxsdk +ENV SGX_ENCLAVE_SIGNER=$SGX_SDK/bin/x64/sgx_sign ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/sgx-aesm-service/aesm:$SGX_SDK/sdk_libs ENV AESM_PATH=/opt/intel/sgx-aesm-service/aesm @@ -148,12 +148,12 @@ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libsgx* /lib/x86_64-linux COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libdcap* /lib/x86_64-linux-gnu/ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libprotobuf* /lib/x86_64-linux-gnu/ -ENV DEBIAN_FRONTEND noninteractive -ENV TERM xterm -ENV SGX_SDK /opt/sgxsdk -ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" -ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" -ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" +ENV DEBIAN_FRONTEND=noninteractive +ENV TERM=xterm +ENV SGX_SDK=/opt/sgxsdk +ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" +ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" RUN mkdir -p /origin /data @@ -171,7 +171,7 @@ RUN touch spid.txt key.txt && \ RUN ldd /usr/local/bin/bitacross-worker && /usr/local/bin/bitacross-worker --version -ENV DATA_DIR /data +ENV DATA_DIR=/data USER litentry WORKDIR /data diff --git a/tee-worker/bitacross/docker/fork.Dockerfile b/tee-worker/bitacross/docker/fork.Dockerfile index 3a2df5bb85..e92c8d129a 100644 --- a/tee-worker/bitacross/docker/fork.Dockerfile +++ b/tee-worker/bitacross/docker/fork.Dockerfile @@ -21,6 +21,6 @@ COPY --from=gaiaadm/pumba /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-c COPY --from=gaiaadm/pumba /pumba /usr/local/bin/pumba COPY --from=powerman/dockerize /usr/local/bin/dockerize /usr/local/bin/dockerize -ENV PATH "$PATH:/usr/local/bin" +ENV PATH="$PATH:/usr/local/bin" ENTRYPOINT ["/usr/local/bin/dockerize"] \ No newline at end of file diff --git a/tee-worker/identity/build.Dockerfile b/tee-worker/identity/build.Dockerfile index 6ea754ca3c..e6b19b2983 100644 --- a/tee-worker/identity/build.Dockerfile +++ b/tee-worker/identity/build.Dockerfile @@ -22,11 +22,11 @@ FROM litentry/litentry-tee-dev:latest AS builder LABEL maintainer="Trust Computing GmbH " # set environment variables -ENV SGX_SDK /opt/sgxsdk -ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" -ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" -ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" -ENV CARGO_NET_GIT_FETCH_WITH_CLI true +ENV SGX_SDK=/opt/sgxsdk +ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" +ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" +ENV CARGO_NET_GIT_FETCH_WITH_CLI=true ENV SCCACHE_CACHE_SIZE="20G" ENV SCCACHE_DIR="/opt/rust/sccache" @@ -97,8 +97,8 @@ LABEL maintainer="Trust Computing GmbH " ARG SCRIPT_DIR=/usr/local/worker-cli ARG LOG_DIR=/usr/local/log -ENV SCRIPT_DIR ${SCRIPT_DIR} -ENV LOG_DIR ${LOG_DIR} +ENV SCRIPT_DIR=${SCRIPT_DIR} +ENV LOG_DIR=${LOG_DIR} COPY --from=local-builder:latest /home/ubuntu/tee-worker/identity/bin/litentry-cli /usr/local/bin COPY --from=local-builder:latest /home/ubuntu/tee-worker/identity/cli/*.sh /usr/local/worker-cli/ @@ -130,8 +130,8 @@ RUN chmod +x /usr/local/bin/litentry-worker RUN ls -al /usr/local/bin # checks -ENV SGX_SDK /opt/sgxsdk -ENV SGX_ENCLAVE_SIGNER $SGX_SDK/bin/x64/sgx_sign +ENV SGX_SDK=/opt/sgxsdk +ENV SGX_ENCLAVE_SIGNER=$SGX_SDK/bin/x64/sgx_sign ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/sgx-aesm-service/aesm:$SGX_SDK/sdk_libs ENV AESM_PATH=/opt/intel/sgx-aesm-service/aesm @@ -164,12 +164,12 @@ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libsgx* /lib/x86_64-linux COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libdcap* /lib/x86_64-linux-gnu/ COPY --from=local-builder:latest /lib/x86_64-linux-gnu/libprotobuf* /lib/x86_64-linux-gnu/ -ENV DEBIAN_FRONTEND noninteractive -ENV TERM xterm -ENV SGX_SDK /opt/sgxsdk -ENV PATH "$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" -ENV PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" -ENV LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" +ENV DEBIAN_FRONTEND=noninteractive +ENV TERM=xterm +ENV SGX_SDK=/opt/sgxsdk +ENV PATH="$PATH:${SGX_SDK}/bin:${SGX_SDK}/bin/x64:/opt/rust/bin" +ENV PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${SGX_SDK}/pkgconfig" +ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${SGX_SDK}/sdk_libs" RUN mkdir -p /origin /data @@ -187,7 +187,7 @@ RUN touch spid.txt key.txt && \ RUN ldd /usr/local/bin/litentry-worker && /usr/local/bin/litentry-worker --version -ENV DATA_DIR /data +ENV DATA_DIR=/data USER litentry WORKDIR /data diff --git a/tee-worker/identity/docker/fork.Dockerfile b/tee-worker/identity/docker/fork.Dockerfile index 3a2df5bb85..e92c8d129a 100644 --- a/tee-worker/identity/docker/fork.Dockerfile +++ b/tee-worker/identity/docker/fork.Dockerfile @@ -21,6 +21,6 @@ COPY --from=gaiaadm/pumba /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-c COPY --from=gaiaadm/pumba /pumba /usr/local/bin/pumba COPY --from=powerman/dockerize /usr/local/bin/dockerize /usr/local/bin/dockerize -ENV PATH "$PATH:/usr/local/bin" +ENV PATH="$PATH:/usr/local/bin" ENTRYPOINT ["/usr/local/bin/dockerize"] \ No newline at end of file