48 lines
1.3 KiB
YAML
Executable File
48 lines
1.3 KiB
YAML
Executable File
services:
|
|
app:
|
|
image: todo-frontend-dev
|
|
build:
|
|
context: ./todo-frontend
|
|
dockerfile: ./todo-frontend/dev.Dockerfile # This will simply tell which dockerfile to read
|
|
volumes:
|
|
- ./todo-frontend:/usr/src/app # The path can be relative, so ./ is enough to say "the same location as the docker-compose.yml"
|
|
container_name: todo-front
|
|
|
|
server:
|
|
image: todo-backend-dev
|
|
volumes:
|
|
- ./todo-backend:/usr/src/app
|
|
environment:
|
|
REDIS_URL: "redis://redis:6379"
|
|
MONGO_URL: "mongodb://the_username:the_password@mongo:27017/the_database"
|
|
|
|
mongo:
|
|
image: mongo
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
|
MONGO_INITDB_ROOT_PASSWORD: example
|
|
MONGO_INITDB_DATABASE: the_database
|
|
volumes:
|
|
- ./todo-backend/mongo/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js
|
|
- mongo_data:/data/db
|
|
|
|
redis:
|
|
image: redis
|
|
command: ['redis-server', '--appendonly', 'yes'] # Overwrite the CMD
|
|
volumes: # Declare the volume
|
|
- ./todo-backend/redis_data:/data
|
|
|
|
nginx:
|
|
image: nginx:1.20.1
|
|
volumes:
|
|
- ./nginx.dev.conf:/etc/nginx/nginx.conf:ro
|
|
ports:
|
|
- 8080:80
|
|
container_name: reverse-proxy-front-back
|
|
depends_on:
|
|
- app # wait for the frontend container to be started
|
|
- server
|
|
|
|
volumes:
|
|
mongo_data:
|