services: sqlserver: image: mcr.microsoft.com/mssql/server:2022-latest platform: linux/amd64 container_name: dev-env-sqlserver environment: ACCEPT_EULA: "Y" SA_PASSWORD: "${SA_PASSWORD}" MSSQL_PID: "Express" ports: - "1433:1433" volumes: - sqlserverdata-dev:/var/opt/mssql healthcheck: test: ["CMD-SHELL", "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P '${SA_PASSWORD}' -C -Q 'SELECT 1' || exit 1"] interval: 10s timeout: 5s retries: 12 start_period: 30s networks: - devnet database.migrations: image: database.migrations container_name: dev-env-database-migrations depends_on: sqlserver: condition: service_healthy build: context: ./src/Core/Database dockerfile: Database.Migrations/Dockerfile args: BUILD_CONFIGURATION: Release APP_UID: 1000 environment: DOTNET_RUNNING_IN_CONTAINER: "true" DB_CONNECTION_STRING: "${DB_CONNECTION_STRING}" MASTER_DB_CONNECTION_STRING: "${MASTER_DB_CONNECTION_STRING}" CLEAR_DATABASE: "true" restart: "no" networks: - devnet database.seed: image: database.seed container_name: dev-env-database-seed depends_on: database.migrations: condition: service_completed_successfully build: context: ./src/Core dockerfile: Database/Database.Seed/Dockerfile args: BUILD_CONFIGURATION: Release APP_UID: 1000 environment: DOTNET_RUNNING_IN_CONTAINER: "true" DB_CONNECTION_STRING: "${DB_CONNECTION_STRING}" restart: "no" networks: - devnet api.core: image: api.core container_name: dev-env-api-core depends_on: database.seed: condition: service_completed_successfully build: context: ./src/Core dockerfile: API/API.Core/Dockerfile args: BUILD_CONFIGURATION: Release APP_UID: 1000 ports: - "8080:8080" - "8081:8081" environment: ASPNETCORE_ENVIRONMENT: "Development" ASPNETCORE_URLS: "http://0.0.0.0:8080" DOTNET_RUNNING_IN_CONTAINER: "true" DB_CONNECTION_STRING: "${DB_CONNECTION_STRING}" restart: unless-stopped networks: - devnet volumes: - nuget-cache-dev:/root/.nuget/packages volumes: sqlserverdata-dev: driver: local nuget-cache-dev: driver: local networks: devnet: driver: bridge