refactor docker startup to use supervisord
This commit is contained in:
@@ -12,7 +12,7 @@ WORKDIR /code
|
|||||||
|
|
||||||
# Install system dependencies (Nginx included)
|
# Install system dependencies (Nginx included)
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y git postgresql-client gdal-bin libgdal-dev nginx \
|
&& apt-get install -y git postgresql-client gdal-bin libgdal-dev nginx supervisor \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
@@ -31,6 +31,9 @@ COPY ./server /code/
|
|||||||
# Copy Nginx configuration
|
# Copy Nginx configuration
|
||||||
COPY ./nginx.conf /etc/nginx/nginx.conf
|
COPY ./nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
# Copy Supervisor configuration
|
||||||
|
COPY ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||||
|
|
||||||
# Collect static files
|
# Collect static files
|
||||||
RUN python3 manage.py collectstatic --noinput --verbosity 2
|
RUN python3 manage.py collectstatic --noinput --verbosity 2
|
||||||
|
|
||||||
@@ -41,5 +44,5 @@ RUN chmod +x /code/entrypoint.sh
|
|||||||
# Expose ports for NGINX and Gunicorn
|
# Expose ports for NGINX and Gunicorn
|
||||||
EXPOSE 80 8000
|
EXPOSE 80 8000
|
||||||
|
|
||||||
# Command to start Nginx and Gunicorn
|
# Command to start Supervisor (which starts Nginx and Gunicorn)
|
||||||
CMD ["bash", "-c", "service nginx start && /code/entrypoint.sh"]
|
CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||||
|
|||||||
@@ -62,5 +62,8 @@ fi
|
|||||||
|
|
||||||
cat /code/adventurelog.txt
|
cat /code/adventurelog.txt
|
||||||
|
|
||||||
# Start gunicorn
|
# Start Gunicorn in foreground
|
||||||
gunicorn main.wsgi:application --bind [::]:8000 --timeout 120 --workers 2
|
exec gunicorn main.wsgi:application \
|
||||||
|
--bind 0.0.0.0:8000 \
|
||||||
|
--workers 4 \
|
||||||
|
--timeout 120
|
||||||
|
|||||||
10
backend/supervisord.conf
Normal file
10
backend/supervisord.conf
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[supervisord]
|
||||||
|
nodaemon=true
|
||||||
|
|
||||||
|
[program:nginx]
|
||||||
|
command=/usr/sbin/nginx -g "daemon off;"
|
||||||
|
autorestart=true
|
||||||
|
|
||||||
|
[program:gunicorn]
|
||||||
|
command=/code/entrypoint.sh
|
||||||
|
autorestart=true
|
||||||
@@ -2,4 +2,4 @@
|
|||||||
|
|
||||||
echo "The origin to be set is: $ORIGIN"
|
echo "The origin to be set is: $ORIGIN"
|
||||||
# Start the application
|
# Start the application
|
||||||
ORIGIN=$ORIGIN node build
|
ORIGIN=$ORIGIN exec node build
|
||||||
|
|||||||
Reference in New Issue
Block a user