FROM python:3.9-slim LABEL maintainer "contact@ipdb.global" ARG TM_VERSION=0.34.15 RUN mkdir -p /usr/src/app ENV HOME /root COPY . /usr/src/app/ WORKDIR /usr/src/app RUN apt-get update \ && apt-get install -y openssl ca-certificates git \ && apt-get install -y vim build-essential cmake jq zsh wget \ && apt-get install -y libstdc++6 \ && apt-get install -y openssh-client openssh-server \ && pip install --upgrade pip cffi \ && pip install -e . \ && apt-get autoremove # Install mongodb and monit RUN apt-get install -y dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl RUN wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - RUN echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/5.0 main" | tee /etc/apt/sources.list.d/mongodb-org-5.0.list RUN apt-get update RUN apt-get install -y mongodb-org monit # Install Tendermint RUN wget https://github.com/tendermint/tendermint/releases/download/v${TM_VERSION}/tendermint_${TM_VERSION}_linux_amd64.tar.gz \ && tar -xf tendermint_${TM_VERSION}_linux_amd64.tar.gz \ && mv tendermint /usr/local/bin/ \ && rm tendermint_${TM_VERSION}_linux_amd64.tar.gz ENV TMHOME=/tendermint # Set permissions required for mongodb RUN mkdir -p /data/db /data/configdb \ && chown -R mongodb:mongodb /data/db /data/configdb # Planetmint enviroment variables ENV PLANETMINT_DATABASE_PORT 27017 ENV PLANETMINT_DATABASE_BACKEND localmongodb ENV PLANETMINT_SERVER_BIND 0.0.0.0:9984 ENV PLANETMINT_WSSERVER_HOST 0.0.0.0 ENV PLANETMINT_WSSERVER_SCHEME ws ENV PLANETMINT_WSSERVER_ADVERTISED_HOST 0.0.0.0 ENV PLANETMINT_WSSERVER_ADVERTISED_SCHEME ws ENV PLANETMINT_TENDERMINT_PORT 26657 VOLUME /data/db /data/configdb /tendermint EXPOSE 27017 28017 9984 9985 26656 26657 26658 WORKDIR $HOME