Skip to content

Commit 945a6fa

Browse files
committed
chore: Add docker-compose.dev.yml for hot reload development
- Vite dev server with hot reload for frontend - Volume mounts for live code changes - Use: docker compose -f docker-compose.dev.yml up
1 parent fa73a69 commit 945a6fa

1 file changed

Lines changed: 39 additions & 10 deletions

File tree

docker-compose.dev.yml

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
1-
# Development version with hot reload
2-
# Usage: docker compose -f docker-compose.dev.yml up
3-
41
services:
2+
# Redis Cache
53
redis:
64
image: redis:7-alpine
7-
container_name: codeintel-redis-dev
5+
container_name: codeintel-redis
86
ports:
97
- "6379:6379"
8+
volumes:
9+
- redis_data:/data
1010
command: redis-server --appendonly yes
11+
healthcheck:
12+
test: ["CMD", "redis-cli", "ping"]
13+
interval: 10s
14+
timeout: 3s
15+
retries: 3
1116
networks:
1217
- codeintel-network
1318

19+
# Backend API (with hot reload)
1420
backend:
1521
build:
1622
context: ./backend
1723
dockerfile: Dockerfile
18-
container_name: codeintel-backend-dev
24+
container_name: codeintel-backend
1925
ports:
2026
- "8000:8000"
2127
environment:
@@ -26,14 +32,36 @@ services:
2632
- PINECONE_INDEX_NAME=${PINECONE_INDEX_NAME}
2733
- SUPABASE_URL=${SUPABASE_URL}
2834
- SUPABASE_KEY=${SUPABASE_KEY}
35+
- SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}
2936
- API_KEY=${API_KEY}
3037
- BACKEND_API_URL=http://backend:8000
3138
volumes:
32-
- ./backend:/app # Mount entire backend for hot reload
33-
- backend-venv:/app/venv # Cache venv
39+
- ./backend:/app
40+
- ./backend/repos:/app/repos
41+
depends_on:
42+
redis:
43+
condition: service_healthy
44+
networks:
45+
- codeintel-network
46+
restart: unless-stopped
47+
48+
# Frontend DEV (Vite dev server with hot reload)
49+
frontend:
50+
image: node:20-alpine
51+
container_name: codeintel-frontend-dev
52+
working_dir: /app
53+
ports:
54+
- "3000:5173"
55+
environment:
56+
- VITE_API_URL=http://localhost:8000
57+
- VITE_SUPABASE_URL=${SUPABASE_URL}
58+
- VITE_SUPABASE_ANON_KEY=${SUPABASE_KEY}
59+
volumes:
60+
- ./frontend:/app
61+
- /app/node_modules # Anonymous volume to prevent overwriting node_modules
62+
command: sh -c "npm install && npm run dev -- --host 0.0.0.0"
3463
depends_on:
35-
- redis
36-
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload # Hot reload enabled
64+
- backend
3765
networks:
3866
- codeintel-network
3967

@@ -42,4 +70,5 @@ networks:
4270
driver: bridge
4371

4472
volumes:
45-
backend-venv:
73+
redis_data:
74+
driver: local

0 commit comments

Comments
 (0)