FROM avatao/ubuntu:16.04 # Install dependencies RUN apt-get update && \ apt-get install -qy \ supervisor \ libzmq5 \ # These dependencies are required by the bz2, readline, sqlite3 packages libbz2-dev \ libreadline-dev \ libsqlite3-dev USER user COPY .pyenvrc /home/user/.pyenvrc ENV PYTHON_VERSION="3.6.3" RUN curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash && \ echo "source $HOME/.pyenvrc" >> "$HOME/.bashrc" && \ . "$HOME/.pyenvrc" && \ pyenv install ${PYTHON_VERSION} && \ pyenv global ${PYTHON_VERSION} && \ pip install tornado pyzmq transitions ENV PYENV_ROOT="$HOME/.pyenv" ENV PATH="$PYENV_ROOT/bin:$PATH" ENV TFW_APP_DIR="/srv/app" COPY src/app ${TFW_APP_DIR} ENV TFW_COMPONENTS_DIR="/opt/components" COPY src/components ${TFW_COMPONENTS_DIR} # Copy config ENV TFW_CONFIG_DIR="/usr/local/lib/" ENV PYTHONPATH=${TFW_CONFIG_DIR} COPY lib $TFW_CONFIG_DIR ENV TFW_SUPERVISORD_CONF="/etc/supervisor/supervisord.conf" COPY supervisord.conf ${TFW_SUPERVISORD_CONF} ENV WEB_PORT=4242 EXPOSE 4242 CMD . "$HOME/.pyenvrc" && exec supervisord --nodaemon