98 lines
2.7 KiB
Bash
98 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# If there's a prestart.sh script in the /app directory, run it before starting
|
|
PRE_START_PATH=/app/prestart.sh
|
|
if [ -f $PRE_START_PATH ] ; then
|
|
. "$PRE_START_PATH"
|
|
else
|
|
echo "There is no prescript $PRE_START_PATH"
|
|
fi
|
|
|
|
#waitress-serve --trusted-proxy='*' \
|
|
#--trusted-proxy-headers="x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-forwarded-port" \
|
|
#--log-untrusted-proxy-headers --threads=16 --call api:create_app
|
|
|
|
params=""
|
|
|
|
if [[ -v WAITRESS_LISTEN ]]; then
|
|
listeners=$(echo "$WAITRESS_LISTEN" | tr "," "\n")
|
|
for listener in $listeners
|
|
do
|
|
if [[ -z $params ]]; then
|
|
params="--listen=$listener"
|
|
else
|
|
params=" $params --listen=$listener"
|
|
fi
|
|
done
|
|
else
|
|
if [[ -v WAITRESS_HOST ]]; then
|
|
if [[ -z $params ]]; then
|
|
params="--host=$WAITRESS_HOST"
|
|
else
|
|
params=" $params --host=$WAITRESS_HOST"
|
|
fi
|
|
fi
|
|
if [[ -v WAITRESS_PORT ]]; then
|
|
if [[ -z $params ]]; then
|
|
params="--port=$WAITRESS_PORT"
|
|
else
|
|
params=" $params --port=$WAITRESS_PORT"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [[ -z $params ]]; then
|
|
params="--listen=*:8080"
|
|
fi
|
|
|
|
if [[ -v WAITRESS_CALL ]]; then
|
|
params=" $params --call"
|
|
fi
|
|
if [[ -v WAITRESS_NO_IPV6 ]]; then
|
|
params=" $params --no-ipv6"
|
|
fi
|
|
if [[ -v WAITRESS_NO_IPV4 ]]; then
|
|
params=" $params --no-ipv4"
|
|
fi
|
|
if [[ -v WAITRESS_EXPOSE_TRACEBACKS ]]; then
|
|
params=" $params --expose-tracebacks"
|
|
fi
|
|
if [[ -v WAITRESS_NO_EXPOSE_TRACEBACKS ]]; then
|
|
params=" $params --no-expose-tracebacks"
|
|
fi
|
|
if [[ -v WAITRESS_THREADS ]]; then
|
|
params=" $params --threads=$WAITRESS_THREADS"
|
|
fi
|
|
if [[ -v WAITRESS_IDENT ]]; then
|
|
params=" $params --ident=$WAITRESS_IDENT"
|
|
fi
|
|
if [[ -v WAITRESS_OUTBUF_OVERFLOW ]]; then
|
|
params=" $params --outbuf_overflow=$WAITRESS_OUTBUF_OVERFLOW"
|
|
fi
|
|
if [[ -v WAITRESS_OUTBUF_HIGH_WATERMARK ]]; then
|
|
params=" $params --outbuf_high_watermark=$WAITRESS_OUTBUF_HIGH_WATERMARK"
|
|
fi
|
|
if [[ -v WAITRESS_INBUF_OVERFLOW ]]; then
|
|
params=" $params --inbuf_overflow=$WAITRESS_INBUF_OVERFLOW"
|
|
fi
|
|
if [[ -v WAITRESS_CONNECTION_LIMIT ]]; then
|
|
params=" $params --connection_limit=$WAITRESS_CONNECTION_LIMIT"
|
|
fi
|
|
if [[ -v WAITRESS_MAX_REQUEST_HEADER_SIZE ]]; then
|
|
params=" $params --max_request_header_size=$WAITRESS_MAX_REQUEST_HEADER_SIZE"
|
|
fi
|
|
if [[ -v WAITRESS_MAX_REQUEST_BODY_SIZE ]]; then
|
|
params=" $params --max_request_body_size=$WAITRESS_MAX_REQUEST_BODY_SIZE"
|
|
fi
|
|
if [[ -v WAITRESS_ASYNCORE_LOOP_TIMEOUT ]]; then
|
|
params=" $params --asyncore_loop_timeout=$WAITRESS_ASYNCORE_LOOP_TIMEOUT"
|
|
fi
|
|
if [[ -v WAITRESS_ASYNCORE_USE_POLL ]]; then
|
|
params=" $params --asyncore_use_poll=$WAITRESS_ASYNCORE_USE_POLL"
|
|
fi
|
|
|
|
# Start Waitress
|
|
echo "waitress-serve $params $APP_MODULE"
|
|
exec waitress-serve $params $APP_MODULE
|