47 lines
784 B
Bash
Executable File
47 lines
784 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# fail on first error
|
|
set -e
|
|
|
|
function runuser {
|
|
EXEC=0
|
|
|
|
while true; do
|
|
case "$1" in
|
|
-E|--exec)
|
|
EXEC=1
|
|
shift
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
*)
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -n "$API_RUNAS" ]; then
|
|
set -- su-exec "$API_RUNAS" "$@"
|
|
fi
|
|
|
|
if [ $EXEC -eq 1 ]; then
|
|
exec "$@"
|
|
else
|
|
"$@"
|
|
fi
|
|
}
|
|
|
|
alias run-user=runuser
|
|
|
|
for part in $(dirname $0)/docker-entrypoint.d/*.sh; do
|
|
[ -x $part ] && source $part
|
|
done
|
|
|
|
if [ "${1#-}" != "$1" ] || [ $# -eq 0 ]; then
|
|
set -- uvicorn --app-dir /opt/api-server api:app --host ${API_HOST:-0.0.0.0} --port ${API_PORT:-8080} "$@"
|
|
fi
|
|
|
|
run-user --exec -- "$@"
|