ARG python_version=3.6
FROM python:${python_version}
LABEL maintainer "devs@bigchaindb.com"

RUN apt-get update \
    && apt-get install -y vim \
    && pip install -U pip \
    && pip install pynacl \
    && apt-get autoremove \
    && apt-get clean

ARG backend
ARG abci_status

# When developing with Python in a docker container, we are using PYTHONBUFFERED
# to force stdin, stdout and stderr to be totally unbuffered and to capture logs/outputs
ENV PYTHONUNBUFFERED 0

ENV BIGCHAINDB_DATABASE_PORT 27017
ENV BIGCHAINDB_DATABASE_BACKEND $backend
ENV BIGCHAINDB_SERVER_BIND 0.0.0.0:9984
ENV BIGCHAINDB_WSSERVER_HOST 0.0.0.0
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

ENV BIGCHAINDB_CI_ABCI ${abci_status}

RUN mkdir -p /usr/src/app
COPY . /usr/src/app/
WORKDIR /usr/src/app
RUN pip install -e .[dev]
RUN bigchaindb -y configure
