62 lines
1.3 KiB
YAML
62 lines
1.3 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: wish-list-api
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- MONGODB_URI=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongo:27017/${MONGO_DATABASE}
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- mongo
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
|
|
tests:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: wish-list-api-tests
|
|
environment:
|
|
- MONGODB_URI=mongodb://${MONGO_USER}:${MONGO_PASSWORD}@mongo:27017/${MONGO_DATABASE}
|
|
- RUN_INTEGRATION_TESTS=true
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- mongo
|
|
volumes:
|
|
- ./coverage:/app/coverage
|
|
command: sh -c "chmod +x /app/scripts/run_tests.sh && /app/scripts/run_tests.sh"
|
|
networks:
|
|
- app-network
|
|
|
|
mongo:
|
|
image: mongo:latest
|
|
container_name: mongodb
|
|
restart: unless-stopped
|
|
environment:
|
|
- MONGO_INITDB_ROOT_USERNAME=${MONGO_USER}
|
|
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASSWORD}
|
|
- MONGO_INITDB_DATABASE=${MONGO_DATABASE}
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongo_data:/data/db
|
|
networks:
|
|
- app-network
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mongo_data:
|
|
driver: local |