From 74348f224d994cc67b6e1e94d09254108d406ace Mon Sep 17 00:00:00 2001 From: szbk Date: Sun, 1 Mar 2026 01:07:54 +0300 Subject: [PATCH] chore(dev): add frontend service to docker compose --- README.md | 1 + docker-compose.dev.yml | 20 ++++++++++++++++++++ frontend/vite.config.ts | 7 +++++-- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6bfb2db..3834c3b 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ docker compose -f docker-compose.dev.yml up --build ``` API şu adreste çalışacak: `http://localhost:3000` +Frontend şu adreste çalışacak: `http://localhost:5173` ## API Kullanımı diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index cb0c372..83ae321 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -48,6 +48,25 @@ services: networks: - netflix-scraper-network + frontend: + image: node:20-alpine + container_name: netflix-scraper-frontend-dev + restart: unless-stopped + working_dir: /app + ports: + - "5173:5173" + environment: + - VITE_API_PROXY_TARGET=http://app:3000 + command: sh -c "npm install && npm run dev -- --host 0.0.0.0 --port 5173" + volumes: + - ./frontend:/app:delegated + - frontend_node_modules_data:/app/node_modules + depends_on: + app: + condition: service_healthy + networks: + - netflix-scraper-network + postgres: image: postgres:16-alpine container_name: netflix-scraper-postgres-dev @@ -89,6 +108,7 @@ volumes: postgres_data_dev: redis_data_dev: node_modules_data: + frontend_node_modules_data: networks: netflix-scraper-network: diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 08efaad..1570863 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -1,18 +1,21 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' +const apiTarget = process.env.VITE_API_PROXY_TARGET || 'http://localhost:3000' + // https://vite.dev/config/ export default defineConfig({ plugins: [react()], server: { port: 5173, + host: '0.0.0.0', proxy: { '/api': { - target: 'http://localhost:3000', + target: apiTarget, changeOrigin: true, }, '/socket.io': { - target: 'http://localhost:3000', + target: apiTarget, changeOrigin: true, ws: true, },