Everything is now containerised and in the docker compose
This commit is contained in:
@@ -1,21 +1,64 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# MongoDB Database
|
||||
mongodb:
|
||||
image: mongo:7.0
|
||||
container_name: recipe-management-mongodb
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MONGO_INITDB_ROOT_USERNAME: ${MONGODB_USERNAME}
|
||||
MONGO_INITDB_ROOT_PASSWORD: ${MONGODB_PASSWORD}
|
||||
MONGO_INITDB_DATABASE: ${MONGODB_DATABASE}
|
||||
ports:
|
||||
- "27017:27017"
|
||||
volumes:
|
||||
- mongodb_data:/data/db
|
||||
- ./backend/seedData.js:/docker-entrypoint-initdb.d/seedData.js:ro
|
||||
- ./backend/seedData.js:/docker-entrypoint-initdb.d/01-seedData.js:ro
|
||||
networks:
|
||||
- recipe-network
|
||||
healthcheck:
|
||||
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')", "--quiet"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 40s
|
||||
|
||||
# Backend API Service
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
container_name: recipe-management-backend
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PORT=5000
|
||||
- MONGODB_HOST=mongodb
|
||||
- MONGODB_PORT=27017
|
||||
- MONGODB_DATABASE=recipe-management
|
||||
- JWT_SECRET=${JWT_SECRET}
|
||||
ports:
|
||||
- "5000:5000"
|
||||
depends_on:
|
||||
mongodb:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- recipe-network
|
||||
volumes:
|
||||
- ./backend:/app
|
||||
- /app/node_modules
|
||||
|
||||
# Frontend React App
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
container_name: recipe-management-frontend
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3000:80"
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- recipe-network
|
||||
environment:
|
||||
- REACT_APP_API_URL=http://localhost:5000
|
||||
|
||||
# Optional: MongoDB Express for database management
|
||||
mongo-express:
|
||||
@@ -25,12 +68,11 @@ services:
|
||||
ports:
|
||||
- "8081:8081"
|
||||
environment:
|
||||
ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGODB_USERNAME}
|
||||
ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGODB_PASSWORD}
|
||||
ME_CONFIG_MONGODB_URL: mongodb://${MONGODB_USERNAME}:${MONGODB_PASSWORD}@mongodb:27017/
|
||||
ME_CONFIG_MONGODB_URL: mongodb://mongodb:27017/
|
||||
ME_CONFIG_BASICAUTH: false
|
||||
depends_on:
|
||||
- mongodb
|
||||
mongodb:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- recipe-network
|
||||
|
||||
|
||||
Reference in New Issue
Block a user