File size: 1,555 Bytes
59de848 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
version: '3.8'
services:
# MongoDB Database
mongodb:
image: mongo:6.0
container_name: task-trek-mongodb
restart: unless-stopped
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password123
MONGO_INITDB_DATABASE: task-trek
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
networks:
- task-trek-network
# Backend Application
backend:
build: .
container_name: task-trek-backend
restart: unless-stopped
environment:
NODE_ENV: production
PORT: 5000
MONGODB_URI: mongodb://admin:password123@mongodb:27017/task-trek?authSource=admin
JWT_SECRET: your-super-secret-jwt-key-change-in-production
CLIENT_URL: http://localhost:3000
ports:
- "5000:5000"
depends_on:
- mongodb
volumes:
- ./uploads:/app/uploads
networks:
- task-trek-network
# Frontend Development (optional - for development)
frontend-dev:
image: node:18-alpine
container_name: task-trek-frontend-dev
working_dir: /app/client
command: npm run dev
environment:
- VITE_API_URL=http://localhost:5000
ports:
- "3000:3000"
volumes:
- ./client:/app/client
- /app/client/node_modules
networks:
- task-trek-network
profiles:
- dev
volumes:
mongodb_data:
networks:
task-trek-network:
driver: bridge
|