services: campaign-tracker-app: build: . container_name: campaign-tracker-app ports: - "8801:80" volumes: - .:/var/www/html environment: APP_ENV: ${APP_ENV:-local} APP_DEBUG: ${APP_DEBUG:-true} DB_HOST: ${DB_HOST:-sqlserver} DB_PORT: ${DB_PORT:-1433} DB_DATABASE: ${DB_DATABASE:-Campaign_Tracker} DB_USERNAME: ${DB_USERNAME:-sa} DB_PASSWORD: ${DB_PASSWORD:-Dev_Password123!} KEYCLOAK_BASE_URL: ${KEYCLOAK_BASE_URL:-} KEYCLOAK_REALM: ${KEYCLOAK_REALM:-} KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID:-} KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET:-} KEYCLOAK_REDIRECT_URI: ${KEYCLOAK_REDIRECT_URI:-} KEYCLOAK_LOGOUT_REDIRECT_URI: ${KEYCLOAK_LOGOUT_REDIRECT_URI:-} depends_on: sqlserver: condition: service_healthy sqlserver: image: mcr.microsoft.com/mssql/server:latest container_name: campaign-tracker-db environment: ACCEPT_EULA: "Y" SA_PASSWORD: Dev_Password123! MSSQL_PID: Developer ports: - "1433:1433" volumes: - sqlserver_data:/var/opt/mssql healthcheck: test: ["CMD-SHELL", "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P 'Dev_Password123!' -Q 'SELECT 1' -b -C"] interval: 10s timeout: 5s retries: 10 start_period: 30s volumes: sqlserver_data: