Files
dc-project/docker-compose.yml

95 lines
2.2 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
restart: always
ports:
- ${SONARQUBE_PORT}:9000
openapi:
container_name: openapi_${NAME}
image: swaggerapi/swagger-ui
restart: always
ports:
- ${OPENAPI_PORT}:8080
environment:
URL: "http://localhost:8080"
rabbitmq:
container_name: rabbitmq_${NAME}
image: rabbitmq:management-alpine
restart: always
ports:
- ${RABBITMQ_PORT}:5672
- ${RABBITMQ_MANAGEMENT_PORT}:15672
redis:
container_name: redis_${NAME}
image: redis:6.0-rc-alpine
restart: always
ports:
- ${REDIS_PORT}:6379
volumes:
- redis-data:/var/lib/redis:rw
app:
container_name: app_${NAME}
build:
context: .
dockerfile: docker/app/Dockerfile
restart: always
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
restart: always
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
restart: always
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: