Files
podcastic/docker-compose.yml
T

80 lines
1.7 KiB
YAML

version: '3.8'
services:
mongo:
image: mongo:latest
container_name: podcastic-mongo
restart: unless-stopped
ports:
- "27017:27017"
environment:
MONGO_INITDB_DATABASE: podcastic
MONGO_INITDB_ROOT_USERNAME: podcastic
MONGO_INITDB_ROOT_PASSWORD: podcastic_dev
volumes:
- mongo_data:/data/db
networks:
- podcastic-network
redis:
image: redis:7-alpine
container_name: podcastic-redis
restart: unless-stopped
ports:
- "6379:6379"
command: redis-server --appendonly yes
volumes:
- redis_data:/data
networks:
- podcastic-network
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: podcastic-backend
restart: unless-stopped
ports:
- "5000:5000"
environment:
NODE_ENV: development
MONGODB_URI: mongodb://podcastic:podcastic_dev@mongo:27017/podcastic
REDIS_URL: redis://redis:6379
JWT_SECRET: dev_secret_key_change_in_prod
depends_on:
- mongo
- redis
volumes:
- ./backend/src:/app/src
- /app/node_modules
networks:
- podcastic-network
command: npm run dev
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: podcastic-frontend
restart: unless-stopped
ports:
- "3000:3000"
environment:
VITE_API_URL: http://localhost:5000/api
depends_on:
- backend
volumes:
- ./frontend/src:/app/src
- /app/node_modules
networks:
- podcastic-network
command: npm run dev
volumes:
mongo_data:
redis_data:
networks:
podcastic-network:
driver: bridge