local-infrastructure/docker-compose.yml
version: '3.8'
networks:
comfort-net:
driver: "bridge"
services:
postgres:
container_name: comfort_postgres
image: postgres:10
restart: always
environment:
- "POSTGRES_PASSWORD=${DB_PASSWORD}"
- "POSTGRES_USER=${DB_USERNAME}"
- "POSTGRES_DB=${DB_DATABASE}"
healthcheck:
test: ["CMD", "pg_isready"]
interval: 1m30s
timeout: 10s
retries: 3
ports:
- "${POSTGRES_HOST_PORT}:5432"
networks:
- comfort-net
keycloak:
container_name: comfort_keycloak
image: quay.io/keycloak/keycloak:7.0.1
restart: always
environment:
- "KEYCLOAK_USER=${KEYCLOAK_USER}"
- "KEYCLOAK_PASSWORD=${KEYCLOAK_PASSWORD}"
- DB_VENDOR=h2
- KEYCLOAK_IMPORT=/tmp/keycloak-local-realm.json -Dkeycloak.profile.feature.upload_scripts=enabled
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:8080/auth/realms/cp1qly2d"]
interval: 30s
timeout: 10s
retries: 10
start_period: 1m
volumes:
- ./settings/keycloak-local-realm.json:/tmp/keycloak-local-realm.json
- ./settings/keycloak-local-user.sh:/tmp/keycloak-local-user.sh
ports:
- "${KEYCLOAK_HOST_HTTP_PORT}:8080"
- "${KEYCLOAK_HOST_HTTPS_PORT}:8443"
networks:
- comfort-net
node_migrate:
depends_on:
- postgres
container_name: comfort_node_migrate
restart: on-failure
build:
context: ../app
dockerfile: migration.Dockerfile
environment:
- "DB_DATABASE=${DB_DATABASE}"
- "DB_HOST=${DB_HOST}"
- "DB_USERNAME=${DB_USERNAME}"
- "DB_PASSWORD=${DB_PASSWORD}"
- "DB_PORT=${DB_PORT}"
entrypoint: ["/bin/sh", "/opt/app-root/src/bin/run-migrations.sh"]
networks:
- comfort-net