From bc6fe8ae42fe691b1999e34065fe54d35bde65d8 Mon Sep 17 00:00:00 2001 From: David Dashyan Date: Mon, 8 Mar 2021 19:02:57 +0300 Subject: [PATCH] Central state directory for all-in-one docker image --- Dockerfile-all-in-one | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/Dockerfile-all-in-one b/Dockerfile-all-in-one index 7b2708d2..9bace8e8 100644 --- a/Dockerfile-all-in-one +++ b/Dockerfile-all-in-one @@ -7,6 +7,24 @@ ENV HOME /root COPY . /usr/src/app/ WORKDIR /usr/src/app +# Install mongodb and monit +RUN apk --update add mongodb monit + +# Set permissions required for mongodb +RUN mkdir -p /state/mongodb/data/db \ + /state/mongodb/data/configdb \ + && chown -R mongodb:mongodb /state/mongodb/data/db \ + /state/mongodb/data/configdb +# Symlink mongo data folder to state folder +RUN mkdir /data \ + && ln -s /state/mongodb/data/configdb /data/configdb \ + && ln -s /state/mongodb/data/db /data/db + +# Create symlinks for tendermint state directories +RUN mkdir -p /tendermint \ + && ln -s /state/tendermint/data \ + /tendermint/data + RUN apk --update add sudo bash \ && apk --update add python3 openssl ca-certificates git \ && apk --update add --virtual build-dependencies python3-dev \ @@ -17,9 +35,6 @@ RUN apk --update add sudo bash \ && apk del build-dependencies \ && rm -f /var/cache/apk/* -# Install mongodb and monit -RUN apk --update add mongodb monit - # Install Tendermint RUN wget https://github.com/tendermint/tendermint/releases/download/${TM_VERSION}/tendermint_${TM_VERSION}_linux_amd64.zip \ && unzip tendermint_${TM_VERSION}_linux_amd64.zip \ @@ -28,10 +43,6 @@ RUN wget https://github.com/tendermint/tendermint/releases/download/${TM_VERSION ENV TMHOME=/tendermint -# Set permissions required for mongodb -RUN mkdir -p /data/db /data/configdb \ - && chown -R mongodb:mongodb /data/db /data/configdb - # BigchainDB enviroment variables ENV BIGCHAINDB_DATABASE_PORT 27017 ENV BIGCHAINDB_DATABASE_BACKEND localmongodb @@ -42,8 +53,7 @@ ENV BIGCHAINDB_WSSERVER_SCHEME ws ENV BIGCHAINDB_WSSERVER_ADVERTISED_HOST 0.0.0.0 ENV BIGCHAINDB_WSSERVER_ADVERTISED_SCHEME ws ENV BIGCHAINDB_TENDERMINT_PORT 26657 - -VOLUME /data/db /data/configdb /tendermint +VOLUME /state EXPOSE 27017 28017 9984 9985 26656 26657 26658