31 lines
741 B
Bash
31 lines
741 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
# Default to 1600 if not provided
|
|
PUID="${PUID:-1600}"
|
|
PGID="${PGID:-1600}"
|
|
USER="${USER:-apiusr}"
|
|
GROUP="${USER:-apiusr}"
|
|
CHOWNPATH="/netflowParser"
|
|
|
|
# Create group if missing
|
|
if ! getent group "$GROUP" >/dev/null 2>&1; then
|
|
addgroup -g "$PGID" "$GROUP"
|
|
fi
|
|
|
|
# Create user if missing
|
|
if ! id -u "$USER" >/dev/null 2>&1; then
|
|
adduser -D -u "$PUID" -G "$GROUP" "$USER"
|
|
fi
|
|
|
|
# Download IP2Location database
|
|
if [[ -n "$IP2LOC_TOKEN" ]]; then
|
|
wget -O "$CHOWNPATH"/IP2LOCATION-LITE-DB9.BIN "https://www.ip2location.com/download/?token="$IP2LOC_TOKEN"&file=DB9LITEBIN"
|
|
fi
|
|
|
|
# Fix permissions (only do this on /app/API)
|
|
chown -R "$PUID:$PGID" "$CHOWNPATH"
|
|
|
|
# Drop privileges & run command
|
|
exec su-exec "$PUID:$PGID" "$@"
|