# Docker enhancements
* optimizes nginx.conf * better proxy pipelining * optimizes Dockerfile * smaller resulting image * faster rebuilding due to reusing of existing layers * optimizes docker-entrypoint.sh * better startup performance * better compatibility with docker engine
This commit is contained in:
@@ -1,7 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Start all needed services once the container is fired up!
|
||||
service nginx start
|
||||
service redis-server start
|
||||
celery -A konova worker --detach
|
||||
# Rule of thumb: (2*CPU)+1 as worker_num -> Use 5 as default (matches a dual core)
|
||||
gunicorn --workers=5 konova.wsgi:application --bind=0.0.0.0:8000 --access-logfile /var/log/gunicorn/access.log --error-logfile /var/log/gunicorn/error.log
|
||||
|
||||
set -e # Beende Skript bei Fehlern
|
||||
set -o pipefail # Fehler in Pipelines nicht ignorieren
|
||||
|
||||
# Starte Redis
|
||||
redis-server --daemonize yes
|
||||
|
||||
# Starte Celery Worker im Hintergrund
|
||||
celery -A konova worker --loglevel=info &
|
||||
|
||||
# Starte Nginx als Hintergrundprozess
|
||||
nginx -g "daemon off;" &
|
||||
|
||||
# Setze Gunicorn Worker-Anzahl (Standard: (2*CPUs)+1)
|
||||
WORKERS=${GUNICORN_WORKERS:-$((2 * $(nproc) + 1))}
|
||||
|
||||
# Stelle sicher, dass Logs existieren
|
||||
mkdir -p /var/log/gunicorn
|
||||
touch /var/log/gunicorn/access.log /var/log/gunicorn/error.log
|
||||
|
||||
# Starte Gunicorn als Hauptprozess
|
||||
exec gunicorn --workers="$WORKERS" konova.wsgi:application \
|
||||
--bind=0.0.0.0:8000 \
|
||||
--access-logfile /var/log/gunicorn/access.log \
|
||||
--error-logfile /var/log/gunicorn/error.log
|
||||
|
||||
Reference in New Issue
Block a user