Files
phishingclub/entrypoint.sh
Ronni Skansing a7a5f7aacc fixed remove legacy admin IP blocking config field
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
2025-11-04 16:40:54 +01:00

48 lines
1.2 KiB
Bash

#!/bin/sh
# entrypoint for production docker compose
# get appuser uid/gid dynamically, fallback to 1000 if not found
APP_UID=$(id -u appuser 2>/dev/null || echo 1000)
APP_GID=$(id -g appuser 2>/dev/null || echo 1000)
# create default config.json with correct paths if missing
if [ ! -f /app/config/config.json ]; then
cat <<EOF > /app/config/config.json
{
"acme": { "email": "" },
"administration": {
"tls_host": "localhost",
"tls_auto": false,
"tls_cert_path": "/app/config/certs/admin/public.pem",
"tls_key_path": "/app/config/certs/admin/private.pem",
"address": "0.0.0.0:8000"
},
"phishing": {
"http": "0.0.0.0:8080",
"https": "0.0.0.0:8443"
},
"database": {
"engine": "sqlite3",
"dsn": "file:/app/data/db.sqlite3"
},
"log": {
"path": "",
"errorPath": ""
},
"ip_security": {
"admin_allowed": [],
"trusted_proxies": [],
"trusted_ip_header": ""
}
}
EOF
fi
# if running as root, fix permissions and switch to appuser
if [ "$(id -u)" = "0" ]; then
chown -R "$APP_UID:$APP_GID" /app/config /app/data 2>/dev/null || true
exec su appuser -c "/app/phishingclub --config /app/config/config.json"
else
exec /app/phishingclub --config /app/config/config.json
fi