version: '2.4'

services:
  root_db:
    image: mcr.microsoft.com/mssql/server:2017-latest
    restart: always
    volumes:
      - db_data:/var/opt/mssql
    environment:
      SA_PASSWORD: Password123.
      ACCEPT_EULA: Y
    healthcheck:
      test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$$SA_PASSWORD" -Q "SELECT 1" || exit 1
      interval: 10s
      timeout: 3s
      retries: 10
      start_period: 10s

  nocodb:
    depends_on:
      root_db:
          condition: service_healthy
    image: nocodb/nocodb:latest
    ports:
      - "8080:8080"
    restart: always
    volumes:
      - nc_data:/usr/app/data
    environment:
      NC_DB: "mssql://root_db:1433?u=sa&p=Password123.&d=root_db"
volumes:
  db_data: {}
  nc_data: {}