From cdbc93d4aa64015d878383dd4c90ec3a85c49758 Mon Sep 17 00:00:00 2001 From: Kodjo Sossouvi Date: Fri, 26 Sep 2025 22:04:31 +0200 Subject: [PATCH] Added frontend in the docker compose --- docker-compose.yml | 13 +++++++++++ src/file-processor/app/main.py | 2 +- src/frontend/.dockerignore | 41 ++++++++++++++++++++++++++++++++++ src/frontend/Dockerfile | 20 +++++++++++++++++ 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 src/frontend/.dockerignore create mode 100644 src/frontend/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index 05d479c..109df33 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -68,6 +68,19 @@ services: - mydocmanager-network command: celery -A tasks.main worker --loglevel=info + # Frontend - React application with Vite + frontend: + build: + context: ./src/frontend + dockerfile: Dockerfile + container_name: mydocmanager-frontend + ports: + - "5173:5173" + volumes: + - ./src/frontend:/app + - /app/node_modules # Anonymous volume to prevent node_modules override + networks: + - mydocmanager-network volumes: mongodb-data: diff --git a/src/file-processor/app/main.py b/src/file-processor/app/main.py index 9fb75fb..5bc661b 100644 --- a/src/file-processor/app/main.py +++ b/src/file-processor/app/main.py @@ -102,7 +102,7 @@ app = FastAPI( # Configure CORS app.add_middleware( CORSMiddleware, - allow_origins=["http://localhost:3000"], # React frontend + allow_origins=["http://localhost:5173"], # React frontend allow_credentials=True, allow_methods=["*"], allow_headers=["*"], diff --git a/src/frontend/.dockerignore b/src/frontend/.dockerignore new file mode 100644 index 0000000..dd262eb --- /dev/null +++ b/src/frontend/.dockerignore @@ -0,0 +1,41 @@ +# Dependencies +node_modules +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Build outputs +dist +build + +# Environment files +.env.local +.env.development.local +.env.test.local +.env.production.local + +# IDE files +.vscode +.idea +*.swp +*.swo + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Git +.git +.gitignore + +# Docker +Dockerfile +.dockerignore + +# Logs +*.log \ No newline at end of file diff --git a/src/frontend/Dockerfile b/src/frontend/Dockerfile new file mode 100644 index 0000000..95c9fb2 --- /dev/null +++ b/src/frontend/Dockerfile @@ -0,0 +1,20 @@ +# Use Node.js 20 Alpine for lightweight container +FROM node:20-alpine + +# Set working directory +WORKDIR /app + +# Copy package.json and package-lock.json (if available) +COPY package*.json ./ + +# Install dependencies +RUN npm install + +# Copy source code +COPY . . + +# Expose Vite default port +EXPOSE 5173 + +# Start development server with host 0.0.0.0 to accept external connections +CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "5173"] \ No newline at end of file