mirror of
https://github.com/avatao-content/baseimage-tutorial-framework
synced 2024-11-22 23:21:32 +00:00
Use nginx to serve everything
This commit is contained in:
parent
6436953eea
commit
a4d101883e
18
Dockerfile
18
Dockerfile
@ -5,11 +5,17 @@ RUN apt-get update && \
|
|||||||
apt-get install -qy \
|
apt-get install -qy \
|
||||||
supervisor \
|
supervisor \
|
||||||
libzmq5 \
|
libzmq5 \
|
||||||
|
nginx \
|
||||||
|
# Provides envsubst
|
||||||
|
gettext-base \
|
||||||
# These dependencies are required to compile the bz2, readline, sqlite3
|
# These dependencies are required to compile the bz2, readline, sqlite3
|
||||||
# Python packages
|
# Python packages
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
libreadline-dev \
|
libreadline-dev \
|
||||||
libsqlite3-dev
|
libsqlite3-dev && \
|
||||||
|
chown -R ${AVATAO_USER}: /var/log/nginx /var/lib/nginx && \
|
||||||
|
# nginx runs as a regular user, and can't write to /run
|
||||||
|
sed -i 's#pid /run/nginx.pid;#pid /tmp/nginx.pid;#g' /etc/nginx/nginx.conf
|
||||||
|
|
||||||
USER ${AVATAO_USER}
|
USER ${AVATAO_USER}
|
||||||
|
|
||||||
@ -43,5 +49,15 @@ COPY src/app ${TFW_APP_DIR}
|
|||||||
ENV TFW_EVENT_HANDLERS_DIR="/opt/event_handlers"
|
ENV TFW_EVENT_HANDLERS_DIR="/opt/event_handlers"
|
||||||
COPY src/event_handlers ${TFW_EVENT_HANDLERS_DIR}
|
COPY src/event_handlers ${TFW_EVENT_HANDLERS_DIR}
|
||||||
|
|
||||||
|
ENV TFW_FRONTEND_DIR="/srv/frontend"
|
||||||
|
COPY src/frontend/dist ${TFW_FRONTEND_DIR}
|
||||||
|
|
||||||
|
ENV TFW_PUBLIC_PORT=8888
|
||||||
|
EXPOSE ${TFW_PUBLIC_PORT}
|
||||||
|
COPY src/nginx /etc/nginx
|
||||||
|
USER root
|
||||||
|
RUN envsubst "$(printenv | cut -d= -f1 | grep TFW_ | sed -e 's/^/$/g')" \
|
||||||
|
< /etc/nginx/sites-available/default > /etc/nginx/sites-available/default
|
||||||
|
USER ${AVATAO_USER}
|
||||||
|
|
||||||
CMD . "$HOME/.pyenvrc" && exec supervisord --nodaemon
|
CMD . "$HOME/.pyenvrc" && exec supervisord --nodaemon
|
||||||
|
23
src/nginx/sites-available/default
Normal file
23
src/nginx/sites-available/default
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
server {
|
||||||
|
listen ${TFW_PUBLIC_PORT};
|
||||||
|
server_name localhost;
|
||||||
|
proxy_connect_timeout 7d;
|
||||||
|
proxy_send_timeout 7d;
|
||||||
|
proxy_read_timeout 7d;
|
||||||
|
|
||||||
|
location = /ws {
|
||||||
|
proxy_pass http://127.0.0.1:${TFW_WEB_PORT};
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "Upgrade";
|
||||||
|
}
|
||||||
|
|
||||||
|
location /login/ {
|
||||||
|
proxy_pass http://127.0.0.1:${TFW_LOGIN_APP_PORT};
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
root ${TFW_FRONTEND_DIR};
|
||||||
|
try_files $uri $uri/ index.html;
|
||||||
|
}
|
||||||
|
}
|
@ -28,3 +28,8 @@ command=env python event_handler_main.py
|
|||||||
directory=%(ENV_TFW_LOGIN_APP_DIR)s
|
directory=%(ENV_TFW_LOGIN_APP_DIR)s
|
||||||
command=env python server.py
|
command=env python server.py
|
||||||
autostart=false
|
autostart=false
|
||||||
|
|
||||||
|
[program:nginx]
|
||||||
|
command=/usr/sbin/nginx -g 'daemon off;'
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
Loading…
Reference in New Issue
Block a user