services: sqlserver: env_file: ".env.test" image: mcr.microsoft.com/mssql/server:2022-latest platform: linux/amd64 container_name: test-env-sqlserver environment: ACCEPT_EULA: "Y" SA_PASSWORD: "${DB_PASSWORD}" MSSQL_PID: "Express" DOTNET_RUNNING_IN_CONTAINER: "true" volumes: - sqlserverdata-test:/var/opt/mssql healthcheck: test: [ "CMD-SHELL", "/opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P '${DB_PASSWORD}' -C -Q 'SELECT 1' || exit 1", ] interval: 10s timeout: 5s retries: 12 start_period: 30s networks: - testnet database.migrations: env_file: ".env.test" image: database.migrations container_name: test-env-database-migrations depends_on: sqlserver: condition: service_healthy build: context: ./backend dockerfile: Database/Database.Migrations/Dockerfile args: BUILD_CONFIGURATION: Release APP_UID: 1000 environment: DOTNET_RUNNING_IN_CONTAINER: "true" DB_SERVER: "${DB_SERVER}" DB_NAME: "${DB_NAME}" DB_USER: "${DB_USER}" DB_PASSWORD: "${DB_PASSWORD}" CLEAR_DATABASE: "true" restart: "no" networks: - testnet database.seed: env_file: ".env.test" image: database.seed container_name: test-env-database-seed depends_on: database.migrations: condition: service_completed_successfully seaweedfs: condition: service_started build: context: ./backend dockerfile: Database/Database.Seed/Dockerfile args: BUILD_CONFIGURATION: Release APP_UID: 1000 environment: DOTNET_RUNNING_IN_CONTAINER: "true" DB_SERVER: "${DB_SERVER}" DB_NAME: "${DB_NAME}" DB_USER: "${DB_USER}" DB_PASSWORD: "${DB_PASSWORD}" SEAWEEDFS_SERVICE_URL: "${SEAWEEDFS_SERVICE_URL}" SEAWEEDFS_ACCESS_KEY_ID: "${SEAWEEDFS_ACCESS_KEY_ID}" SEAWEEDFS_SECRET_ACCESS_KEY: "${SEAWEEDFS_SECRET_ACCESS_KEY}" SEAWEEDFS_BUCKET: "${SEAWEEDFS_BUCKET}" restart: "no" networks: - testnet seaweedfs: env_file: ".env.test" image: chrislusf/seaweedfs container_name: test-env-seaweedfs environment: AWS_ACCESS_KEY_ID: "${SEAWEEDFS_ACCESS_KEY_ID}" AWS_SECRET_ACCESS_KEY: "${SEAWEEDFS_SECRET_ACCESS_KEY}" S3_BUCKET: "${SEAWEEDFS_BUCKET}" volumes: - seaweedfsdata-test:/data restart: unless-stopped networks: - testnet api.specs: env_file: ".env.test" image: api.specs container_name: test-env-api-specs depends_on: database.seed: condition: service_completed_successfully build: context: ./backend dockerfile: API/API.Specs/Dockerfile args: BUILD_CONFIGURATION: Release environment: DOTNET_RUNNING_IN_CONTAINER: "true" DB_SERVER: "${DB_SERVER}" DB_NAME: "${DB_NAME}" DB_USER: "${DB_USER}" DB_PASSWORD: "${DB_PASSWORD}" ACCESS_TOKEN_SECRET: "${ACCESS_TOKEN_SECRET}" REFRESH_TOKEN_SECRET: "${REFRESH_TOKEN_SECRET}" CONFIRMATION_TOKEN_SECRET: "${CONFIRMATION_TOKEN_SECRET}" WEBSITE_BASE_URL: "${WEBSITE_BASE_URL}" volumes: - ./test-results:/app/test-results restart: "no" networks: - testnet unit.tests: env_file: ".env.test" image: unit.tests container_name: test-env-unit-tests depends_on: database.seed: condition: service_completed_successfully build: context: ./backend dockerfile: Dockerfile.tests args: BUILD_CONFIGURATION: Release environment: DOTNET_RUNNING_IN_CONTAINER: "true" volumes: - ./test-results:/app/test-results restart: "no" networks: - testnet frontend.tests: image: frontend.tests container_name: test-env-frontend-tests build: context: ./frontend dockerfile: Dockerfile.tests volumes: - ./test-results:/app/test-results restart: "no" networks: - testnet volumes: sqlserverdata-test: driver: local seaweedfsdata-test: driver: local networks: testnet: driver: bridge