CheckMat / docker /entrypoint.sh
aiqknow's picture
Upload 97 files
35205e8 verified
#!/usr/bin/env bash
set -euo pipefail
export CHATGPT_LOCAL_HOME="${CHATGPT_LOCAL_HOME:-/data}"
# If AUTH_JSON is provided as an environment variable, write it to auth.json
if [[ -n "${AUTH_JSON:-}" ]]; then
echo "Setting up auth from AUTH_JSON environment variable..."
mkdir -p "$CHATGPT_LOCAL_HOME"
echo "$AUTH_JSON" > "$CHATGPT_LOCAL_HOME/auth.json"
chmod 600 "$CHATGPT_LOCAL_HOME/auth.json"
fi
cmd="${1:-serve}"
shift || true
bool() {
case "${1:-}" in
1|true|TRUE|yes|YES|on|ON) return 0;;
*) return 1;;
esac
}
if [[ "$cmd" == "serve" ]]; then
# Hugging Face Spaces expects port 7860
PORT="${PORT:-7860}"
ARGS=(serve --host 0.0.0.0 --port "${PORT}")
if bool "${VERBOSE:-}" || bool "${CHATGPT_LOCAL_VERBOSE:-}"; then
ARGS+=(--verbose)
fi
if bool "${VERBOSE_OBFUSCATION:-}" || bool "${CHATGPT_LOCAL_VERBOSE_OBFUSCATION:-}"; then
ARGS+=(--verbose-obfuscation)
fi
if bool "${FAST_MODE:-}" || bool "${CHATGPT_LOCAL_FAST_MODE:-}"; then
ARGS+=(--fast-mode)
fi
if [[ "$#" -gt 0 ]]; then
ARGS+=("$@")
fi
exec chatmock "${ARGS[@]}"
elif [[ "$cmd" == "login" ]]; then
ARGS=(login --no-browser)
if bool "${VERBOSE:-}" || bool "${CHATGPT_LOCAL_VERBOSE:-}"; then
ARGS+=(--verbose)
fi
exec chatmock "${ARGS[@]}"
else
exec "$cmd" "$@"
fi