| services: | |
| mongodb: | |
| image: mongo:6.0 | |
| container_name: craite-mongodb | |
| restart: unless-stopped | |
| environment: | |
| MONGO_INITDB_ROOT_USERNAME: admin | |
| MONGO_INITDB_ROOT_PASSWORD: password123 | |
| MONGO_INITDB_DATABASE: craite-ai | |
| ports: | |
| - "27017:27017" | |
| volumes: | |
| - mongodb_data:/data/db | |
| - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro | |
| backend: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile.backend | |
| container_name: craite-backend | |
| restart: unless-stopped | |
| ports: | |
| - "5000:5000" | |
| environment: | |
| NODE_ENV: production | |
| PORT: 5000 | |
| MONGODB_URI: mongodb://admin:password123@mongodb:27017/craite-ai?authSource=admin | |
| JWT_SECRET: your-super-secret-jwt-key-change-this-in-production | |
| JWT_EXPIRE: 7d | |
| OPENAI_API_KEY: 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 | |
| CORS_ORIGIN: http://localhost:3000 | |
| depends_on: | |
| - mongodb | |
| volumes: | |
| - ./backend:/app | |
| - /app/node_modules | |
| frontend: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile.frontend | |
| container_name: craite-frontend | |
| restart: unless-stopped | |
| ports: | |
| - "3000:3000" | |
| environment: | |
| REACT_APP_API_URL: http://localhost:5000/api | |
| REACT_APP_SOCKET_URL: http://localhost:5000 | |
| depends_on: | |
| - backend | |
| volumes: | |
| - ./frontend:/app | |
| - /app/node_modules | |
| volumes: | |
| mongodb_data: |