diff --git a/backend/Dockerfile b/backend/Dockerfile index 63084cd3..a7746bcf 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -8,6 +8,7 @@ RUN apt-get update && apt-get install -y \ g++ \ libffi-dev \ libssl-dev \ + curl \ && rm -rf /var/lib/apt/lists/* # Copy requirements first for better caching @@ -31,4 +32,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8000/health || exit 1 # Run the application -CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] \ No newline at end of file +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/backend/app/core/database.py b/backend/app/core/database.py index 106cd80a..056af994 100644 --- a/backend/app/core/database.py +++ b/backend/app/core/database.py @@ -3,7 +3,7 @@ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker import os -# Use SQLite for development to avoid PostgreSQL dependency issues +# Use PostgreSQL in production, SQLite for development DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./hive.db") engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False} if "sqlite" in DATABASE_URL else {}) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 42bbf0b0..23a24ffe 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -6,7 +6,7 @@ WORKDIR /app COPY package*.json ./ # Install dependencies (including dev deps for build) -RUN npm install +RUN npm install && npm install -g serve # Copy source code COPY . . @@ -14,6 +14,9 @@ COPY . . # Build the application RUN npm run build +# Install curl for health checks (as root) +RUN apk add --no-cache curl + # Create non-root user RUN addgroup -g 1001 -S nodejs RUN adduser -S nextjs -u 1001 @@ -29,5 +32,5 @@ EXPOSE 3000 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:3000 || exit 1 -# Start the application -CMD ["npm", "run", "preview"] \ No newline at end of file +# Start the application using serve for production +CMD ["serve", "-s", "dist", "-l", "3000"] \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 11f982d5..81f2cf82 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -7,7 +7,7 @@ "dev": "vite", "build": "tsc && vite build", "start": "vite preview --host 0.0.0.0 --port 3000", - "preview": "vite preview", + "preview": "vite preview --host 0.0.0.0 --port 3000", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "lint:fix": "eslint . --ext ts,tsx --fix", "type-check": "tsc --noEmit"