diff --git a/backend/Dockerfile b/backend/Dockerfile index 6c30316..d189c96 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,6 +12,7 @@ WORKDIR /app RUN apt-get update && apt-get install -y \ libpq-dev \ curl \ + gosu \ && rm -rf /var/lib/apt/lists/* # Copy requirements first (Docker layer caching) @@ -38,7 +39,6 @@ RUN chmod +x startup.sh # Create non-root user for security RUN useradd -m -u 1001 appuser && \ chown -R appuser:appuser /app /data -USER appuser # Expose backend port EXPOSE 8001 diff --git a/backend/startup.sh b/backend/startup.sh index 56f67e0..b0a3964 100644 --- a/backend/startup.sh +++ b/backend/startup.sh @@ -6,6 +6,11 @@ set -e echo "🚀 Starting Trendyol Product Dashboard Backend..." +# Fix permissions on volume-mounted directories (Coolify mounts as root) +echo "🔧 Fixing data directory permissions..." +chown -R appuser:appuser /data 2>/dev/null || true +chmod -R 755 /data 2>/dev/null || true + # Database URL from environment DB_URL="${DATABASE_URL:-postgresql://postgres:trendyol123@postgres:5432/trendyol_db}" echo "📦 Database: PostgreSQL" @@ -48,4 +53,4 @@ echo "✅ Migrations completed!" # Start the FastAPI application echo "🌐 Starting FastAPI server on port 8001..." -exec uvicorn main:app --host 0.0.0.0 --port 8001 --log-level info +exec gosu appuser uvicorn main:app --host 0.0.0.0 --port 8001 --log-level info