mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2024-12-22 12:01:56 +00:00
Rearrange project and dockerize
This commit is contained in:
parent
e08be83c5e
commit
c3e35cd549
4
.pyenvrc
Normal file
4
.pyenvrc
Normal file
@ -0,0 +1,4 @@
|
||||
export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
eval "$(pyenv init -)"
|
||||
eval "$(pyenv virtualenv-init -)"
|
43
Dockerfile
Normal file
43
Dockerfile
Normal file
@ -0,0 +1,43 @@
|
||||
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
|
||||
|
||||
ENV TFW_APP_DIR="/srv/app"
|
||||
COPY src/app ${TFW_APP_DIR}
|
||||
|
||||
ENV TFW_COMPONENTS_DIR="/opt/components"
|
||||
COPY src/components ${TFW_COMPONENTS_DIR}
|
||||
|
||||
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}
|
||||
|
||||
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 WEB_PORT=4242
|
||||
EXPOSE 4242
|
||||
|
||||
CMD . "$HOME/.pyenvrc" && exec supervisord --nodaemon
|
@ -1,5 +0,0 @@
|
||||
import os
|
||||
|
||||
PUBLISHER_PORT = os.getenv('PUBLISHER_PORT', 7654)
|
||||
RECEIVER_PORT = os.getenv('RECEIVER_PORT', 8765)
|
||||
WEB_PORT = os.getenv('WEB_PORT', 4242)
|
23
supervisord.conf
Normal file
23
supervisord.conf
Normal file
@ -0,0 +1,23 @@
|
||||
[supervisord]
|
||||
user=user
|
||||
logfile = /tmp/supervisord.log
|
||||
loglevel = DEBUG
|
||||
pidfile = /tmp/supervisord.pid
|
||||
|
||||
[unix_http_server]
|
||||
file=/tmp/supervisor.sock
|
||||
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
[supervisorctl]
|
||||
serverurl=unix:///tmp/supervisor.sock
|
||||
|
||||
[program:app]
|
||||
directory=%(ENV_TFW_APP_DIR)s
|
||||
command=env python app.py
|
||||
|
||||
[program:component_example]
|
||||
directory=%(ENV_TFW_COMPONENTS_DIR)s
|
||||
command=env python component_example.py
|
||||
autorestart=true
|
Loading…
Reference in New Issue
Block a user