sub2api / start.sh
xingshang3084's picture
Upload neutral docker runtime
7e4c12c verified
Raw
History Blame Contribute Delete
1.72 kB
#!/bin/sh
set -eu
if [ -z "${DATA_DIR:-}" ] && [ -d /data ]; then
export DATA_DIR=/data/appdata
else
export DATA_DIR="${DATA_DIR:-/app/data}"
fi
mkdir -p "${DATA_DIR}"
mkdir -p "${DATA_DIR}/redis"
export AUTO_SETUP="${AUTO_SETUP:-true}"
export SERVER_HOST=0.0.0.0
export SERVER_PORT="${SERVER_PORT:-8080}"
export SERVER_MODE="${SERVER_MODE:-release}"
export RUN_MODE="${RUN_MODE:-standard}"
export TZ="${TZ:-Asia/Shanghai}"
export DATABASE_SSLMODE="${DATABASE_SSLMODE:-require}"
if [ -z "${REDIS_HOST:-}" ]; then
export REDIS_HOST=127.0.0.1
export REDIS_PORT="${REDIS_PORT:-6379}"
export REDIS_DB="${REDIS_DB:-0}"
export REDIS_ENABLE_TLS=false
if [ -n "${REDIS_PASSWORD:-}" ]; then
redis-server --bind 127.0.0.1 --port "${REDIS_PORT}" --dir "${DATA_DIR}/redis" --save "" --appendonly no --protected-mode no --maxmemory 128mb --maxmemory-policy allkeys-lru --requirepass "${REDIS_PASSWORD}" &
else
redis-server --bind 127.0.0.1 --port "${REDIS_PORT}" --dir "${DATA_DIR}/redis" --save "" --appendonly no --protected-mode no --maxmemory 128mb --maxmemory-policy allkeys-lru &
fi
READY=0
for _ in $(seq 1 50); do
if [ -n "${REDIS_PASSWORD:-}" ]; then
if redis-cli -h 127.0.0.1 -p "${REDIS_PORT}" -a "${REDIS_PASSWORD}" ping >/dev/null 2>&1; then
READY=1
break
fi
else
if redis-cli -h 127.0.0.1 -p "${REDIS_PORT}" ping >/dev/null 2>&1; then
READY=1
break
fi
fi
sleep 0.2
done
if [ "${READY}" != "1" ]; then
echo "ERROR: local Redis failed to become ready" >&2
exit 1
fi
fi
exec /app/boot.sh /app/server