services:
  bitwarden_server:
    image: mcr.microsoft.com/devcontainers/dotnet:8.0
    volumes:
      - ../../:/workspace:cached
    env_file:
      - path: ../../dev/.env
        required: false
    # Overrides default command so things don't shut down after the process ends.
    command: sleep infinity

  bitwarden_mssql:
    image: mcr.microsoft.com/mssql/server:2022-latest
    platform: linux/amd64
    restart: unless-stopped
    env_file:
      - path: ../../dev/.env
        required: false
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_PID: Developer
    volumes:
      - mssql_dev_data:/var/opt/mssql
      - ../../util/Migrator:/mnt/migrator/
      - ../../dev/helpers/mssql:/mnt/helpers
      - ../../dev/.data/mssql:/mnt/data
    network_mode: service:bitwarden_server

  bitwarden_mail:
    image: sj26/mailcatcher:latest
    restart: unless-stopped
    network_mode: service:bitwarden_server
    
volumes:
  mssql_dev_data:
