provisioning/deployments/docker/development/docker-compose.yml
version: "3.5"
services:
dev_app:
container_name: annms_dev_app
networks:
- annams
build:
context: ../../../../
dockerfile: ./provisioning/images/dependencies.Dockerfile
entrypoint: [ "npm", "start" ]
environment:
DATABASE_AUTH_USERNAME: "annams_user"
DATABASE_AUTH_PASSWORD: "annams_password"
DATABASE_HOST: "dev_database"
DATABASE_PORT: "3306"
DATABASE_NAME: "annams"
METRICS_PUSHGATEWAY_HOST: "http://dev_metrics_push_gateway"
METRICS_PUSHGATEWAY_PORT: "9091"
SERVER_TRACING_ZIPKIN_HOSTNAME: "http://dev_tracing:9411"
working_dir: /app
user: ${USER_ID}
volumes:
- "../../../../knexfile.js:/app/knexfile.js:Z"
- "../../../../src:/app/src:Z"
- "../../../../test:/app/test:Z"
- "../../../../db:/app/db:Z"
- "../../../../provisioning/scripts:/app/provisioning/scripts:Z"
dev_cache:
container_name: annams_dev_cache_redis
networks:
- annams
image: redis:4-alpine
ports:
- "16379:6379"
dev_database:
container_name: annams_dev_database_mysql
networks:
- annams
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: "annams_root_password"
MYSQL_DATABASE: "annams"
MYSQL_USER: "annams_user"
MYSQL_PASSWORD: "annams_password"
ports:
- "13306:3306"
volumes:
- "./data/mysql:/var/lib/mysql"
dev_database_updater:
container_name: annams_dev_database_knex
networks:
- annams
build:
context: ../../../../
dockerfile: ./provisioning/images/dependencies.Dockerfile
environment:
DATABASE_AUTH_USERNAME: "annams_user"
DATABASE_AUTH_PASSWORD: "annams_password"
DATABASE_HOST: "dev_database"
DATABASE_PORT: "3306"
DATABASE_NAME: "annams"
ENABLE_MIGRATION: "1"
ENABLE_SEEDING: "1"
entrypoint: [ "npm", "run", "db-updater" ]
working_dir: /app
user: ${USER_ID}
volumes:
- "../../../../knexfile.js:/app/knexfile.js:Z"
- "../../../../src:/app/src:Z"
- "../../../../db:/app/db:Z"
- "../../../../provisioning/scripts:/app/provisioning/scripts:Z"
dev_mock_mapper:
container_name: annams_dev_mock_mapper_wiremock
networks:
- annams
build:
context: ../../../../
dockerfile: ./provisioning/images/service-mock.Dockerfile
user: ${USER_ID}
volumes:
- "../../../../mock:/app/data:Z"
dev_tracing:
container_name: annams_dev_tracing_zipkin
networks:
- annams
image: openzipkin/zipkin:2.5
ports:
- "19411:9411"
dev_metrics:
container_name: annams_dev_metrics_prometheus
networks:
- annams
image: prom/prometheus:v2.1.0
volumes:
- "./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:Z"
- "./data/prometheus:/prometheus:Z"
user: "0"
ports:
- "19090:9090"
dev_metrics_push_gateway:
container_name: annams_dev_metrics_push_gateway
networks:
- annams
image: prom/pushgateway:v0.4.0
ports:
- "19091:9091"
networks:
annams:
driver: bridge
name: annams