first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:52:23 +03:00
commit 880f412e2c
2662 changed files with 866266 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
#!/bin/sh
set -e
# Function to fix permissions on mounted volumes
fix_permissions() {
# Check if /app/data exists and fix ownership if needed
if [ -d "/app/data" ]; then
# Get current user info
CURRENT_UID=$(id -u)
CURRENT_GID=$(id -g)
# Get directory ownership
DATA_UID=$(stat -c '%u' /app/data 2>/dev/null || echo "0")
DATA_GID=$(stat -c '%g' /app/data 2>/dev/null || echo "0")
# If ownership doesn't match current user, try to fix it
if [ "$DATA_UID" != "$CURRENT_UID" ] || [ "$DATA_GID" != "$CURRENT_GID" ]; then
echo "Fixing permissions on /app/data (was $DATA_UID:$DATA_GID, setting to $CURRENT_UID:$CURRENT_GID)"
# Try to change ownership (will work if running as root or if user has permission)
if chown -R "$CURRENT_UID:$CURRENT_GID" /app/data 2>/dev/null; then
echo "Successfully updated permissions on /app/data"
else
echo "Warning: Could not change ownership of /app/data. You may need to run:"
echo " docker run --user \$(id -u):\$(id -g) ..."
echo " or ensure the host directory is owned by UID:GID $CURRENT_UID:$CURRENT_GID"
fi
fi
# Ensure logs subdirectory exists with correct permissions
mkdir -p /app/data/logs
chmod 755 /app/data/logs 2>/dev/null || true
fi
}
# Fix permissions before starting the application
fix_permissions
# Parse command line arguments and set environment variables
parse_args() {
while [ $# -gt 0 ]; do
case $1 in
--port|-port)
if [ -n "$2" ]; then
export APP_PORT="$2"
shift 2
else
echo "Error: --port requires a value"
exit 1
fi
;;
--host|-host)
if [ -n "$2" ]; then
export APP_HOST="$2"
shift 2
else
echo "Error: --host requires a value"
exit 1
fi
;;
*)
# Keep other arguments for the main application
set -- "$@" "$1"
shift
;;
esac
done
}
# Parse arguments if any are provided
if [ $# -gt 1 ]; then
parse_args "$@"
fi
# Build the command with environment variables and standard arguments
exec /app/main -app-dir "$APP_DIR" -port "$APP_PORT" -host "$APP_HOST" -log-level "$LOG_LEVEL" -log-style "$LOG_STYLE"