docker-compose.yml•1.65 kB
version: '3.8'
services:
curupira:
build:
context: .
dockerfile: Dockerfile
image: curupira:dev
container_name: curupira-mcp-server
ports:
- '8080:8080'
environment:
- NODE_ENV=development
- CURUPIRA_PORT=8080
- CURUPIRA_HOST=0.0.0.0
- CURUPIRA_LOG_LEVEL=debug
- CURUPIRA_AUTH_ENABLED=false
- CURUPIRA_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001,http://localhost:5173
volumes:
# Mount source for hot reload
- ./mcp-server/src:/app/mcp-server/src:ro
- ./shared/src:/app/shared/src:ro
# Prevent node_modules from being overwritten
- /app/node_modules
- /app/mcp-server/node_modules
- /app/shared/node_modules
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:8080/health']
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- curupira-net
restart: unless-stopped
# Optional: Chrome with pre-loaded extension for testing
# chrome:
# image: selenium/standalone-chrome:latest
# container_name: curupira-chrome-test
# ports:
# - '4444:4444'
# - '7900:7900' # VNC port for viewing
# - '5900:5900' # noVNC web interface
# environment:
# - SE_NODE_MAX_SESSIONS=1
# - SE_VNC_VIEW_ONLY=0
# - SE_SCREEN_WIDTH=1920
# - SE_SCREEN_HEIGHT=1080
# volumes:
# - ./chrome-extension/dist:/home/seluser/extension:ro
# networks:
# - curupira-net
# profiles:
# - testing
networks:
curupira-net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16