88 lines
2.1 KiB
YAML
Executable File
88 lines
2.1 KiB
YAML
Executable File
# To execute this docker-compose yml file use docker-compose -f <file_name> up
|
|
# Add the "-d" flag at the end for detached execution
|
|
version: '3.7'
|
|
services:
|
|
sonarqube:
|
|
container_name: sonarqube_${NAME}
|
|
image: sonarqube
|
|
ports:
|
|
- ${SONARQUBE_PORT}:9000
|
|
|
|
openapi:
|
|
container_name: openapi_${NAME}
|
|
image: swaggerapi/swagger-ui
|
|
ports:
|
|
- ${OPENAPI_PORT}:8080
|
|
environment:
|
|
URL: "http://localhost:8080"
|
|
|
|
rabbitmq:
|
|
container_name: rabbitmq_${NAME}
|
|
image: rabbitmq:management-alpine
|
|
ports:
|
|
- ${RABBITMQ_PORT}:5672
|
|
- ${RABBITMQ_MANAGEMENT_PORT}:15672
|
|
|
|
redis:
|
|
container_name: redis_${NAME}
|
|
image: redis:6.0-rc-alpine
|
|
ports:
|
|
- ${REDIS_PORT}:6379
|
|
volumes:
|
|
- redis-data:/var/lib/redis:rw
|
|
|
|
app:
|
|
container_name: app_${NAME}
|
|
build:
|
|
context: .
|
|
dockerfile: docker/app/Dockerfile
|
|
ports:
|
|
- ${APP_PORT}:8080
|
|
environment:
|
|
DB_HOST: ${DB_HOST}
|
|
SEND_GRID_KEY: ${SEND_GRID_KEY}
|
|
REDIS_CONNECTION: ${REDIS_CONNECTION}
|
|
RABBITMQ_CONNECTION: ${RABBITMQ_CONNECTION}
|
|
ELASTICSEARCH_CONNECTION: ${ELASTICSEARCH_CONNECTION}
|
|
depends_on:
|
|
- elasticsearch
|
|
- db
|
|
- redis
|
|
- rabbitmq
|
|
|
|
elasticsearch:
|
|
container_name: elasticsearch_${NAME}
|
|
image: elasticsearch:6.7.1
|
|
ports:
|
|
- ${ELASTIC_REST}:9200
|
|
- ${ELASTIC_NODES}:9300
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://elasticsearch:9200"]
|
|
interval: 3s
|
|
timeout: 2s
|
|
retries: 20
|
|
|
|
db:
|
|
container_name: postgresql_${NAME}
|
|
build:
|
|
context: docker/postgresql
|
|
ports:
|
|
- ${POSTGRESQL_PORT}:5432
|
|
environment:
|
|
POSTGRES_PASSWORD: ${DB_NAME}
|
|
POSTGRES_USER: ${DB_USER}
|
|
POSTGRES_DB: ${DB_PWD}
|
|
volumes:
|
|
- ./var/log/postgresql:/var/log/postgresql:rw
|
|
- db-data:/var/lib/postgresql/data:rw
|
|
depends_on:
|
|
- elasticsearch
|
|
healthcheck:
|
|
test: [ "CMD", "pg_isready", "-q", "-d", "${DB_NAME}", "-U", "${DB_USER}" ]
|
|
interval: 3s
|
|
timeout: 2s
|
|
retries: 20
|
|
|
|
volumes:
|
|
db-data:
|
|
redis-data: |