From 6204941a5d0d6963369752f81c56a469a32d7c3b Mon Sep 17 00:00:00 2001 From: Revant Nandgaonkar Date: Mon, 4 Jan 2021 18:30:24 +0530 Subject: [PATCH] feat(frappe-nginx): configurable nginx http timeout --- build/common/nginx-default.conf.template | 2 +- build/frappe-nginx/docker-entrypoint.sh | 11 +++++++---- docs/environment-variables.md | 22 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 docs/environment-variables.md diff --git a/build/common/nginx-default.conf.template b/build/common/nginx-default.conf.template index 09575391..2008e655 100644 --- a/build/common/nginx-default.conf.template +++ b/build/common/nginx-default.conf.template @@ -55,7 +55,7 @@ server { proxy_set_header X-Frappe-Site-Name $host; proxy_set_header Host $http_host; proxy_set_header X-Use-X-Accel-Redirect True; - proxy_read_timeout 120; + proxy_read_timeout ${HTTP_TIMEOUT}; proxy_redirect off; proxy_pass http://frappe-server; diff --git a/build/frappe-nginx/docker-entrypoint.sh b/build/frappe-nginx/docker-entrypoint.sh index 69431038..5d905bdf 100755 --- a/build/frappe-nginx/docker-entrypoint.sh +++ b/build/frappe-nginx/docker-entrypoint.sh @@ -31,12 +31,15 @@ if [[ -z "$SOCKETIO_PORT" ]]; then export SOCKETIO_PORT=9000 fi -envsubst '${API_HOST} - ${API_PORT} - ${FRAPPE_PY} +if [[ -z "$HTTP_TIMEOUT" ]]; then + export HTTP_TIMEOUT=120 +fi + +envsubst '${FRAPPE_PY} ${FRAPPE_PY_PORT} ${FRAPPE_SOCKETIO} - ${SOCKETIO_PORT}' \ + ${SOCKETIO_PORT} + ${HTTP_TIMEOUT}' \ < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf echo "Waiting for frappe-python to be available on $FRAPPE_PY port $FRAPPE_PY_PORT" diff --git a/docs/environment-variables.md b/docs/environment-variables.md new file mode 100644 index 00000000..943db4fc --- /dev/null +++ b/docs/environment-variables.md @@ -0,0 +1,22 @@ +List of environment variables for containers + +### frappe-worker and erpnext-worker + +Following environment variables are set into sites volume as `common_site_config.json`. It means once the file is created in volume, the variables won't have any effect, you need to edit the common_site_config.json to update the configuration + +- `DB_HOST`: MariaDB host, domain name or ip address. +- `DB_PORT`: MariaDB port. +- `REDIS_CACHE`: Redis cache host, domain name or ip address. +- `REDIS_QUEUE`: Redis queue host, domain name or ip address. +- `REDIS_SOCKETIO`: Redis queue host, domain name or ip address. +- `SOCKETIO_PORT: `: Port on which the SocketIO should start. + +### frappe-nginx and erpnext-nginx + +These variables are set on every container start. Change in these variables will reflect on every container start. + +- `FRAPPE_PY`: Gunicorn host to reverse proxy. Default: 0.0.0.0 +- `FRAPPE_PY_PORT`: Gunicorn port to reverse proxy. Default: 8000 +- `FRAPPE_SOCKETIO`: SocketIO host to reverse proxy. Default: 0.0.0.0 +- `SOCKETIO_PORT`: SocketIO port to reverse proxy. Default: 9000 +- `HTTP_TIMEOUT`: Nginx http timeout. Default: 120