bcgov/common-forms-toolkit

View on GitHub
local-infrastructure/docker-compose.yml

Summary

Maintainability
Test Coverage
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