1
0
mirror of https://github.com/bitwarden/server.git synced 2025-02-08 00:31:27 +01:00
bitwarden-server/dev/docker-compose.yml
Brant DeBow 5efd68cf51
[PM-17562] Initial POC of Distributed Events (#5323)
* Initial POC of Distributed Events

* Apply suggestions from code review

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* Clean up files to support accepted changes. Address PR Feedback

* Removed unneeded using to fix lint warning

* Moved config into a common EventLogging top-level item. Fixed issues from PR review

* Optimized per suggestion from justinbaur

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>

* Updated to add IAsyncDisposable as suggested in PR review

* Updated with suggestion to use KeyedSingleton for the IEventWriteService

* Changed key case to lowercase

---------

Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>
2025-01-30 12:07:02 -05:00

117 lines
2.7 KiB
YAML

version: "3.9"
services:
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
platform: linux/amd64
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: ${MSSQL_PASSWORD}
MSSQL_PID: Developer
volumes:
- mssql_dev_data:/var/opt/mssql
- ../util/Migrator:/mnt/migrator/
- ./helpers/mssql:/mnt/helpers
- ./.data/mssql:/mnt/data
ports:
- "1433:1433"
profiles:
- cloud
- mssql
storage:
image: mcr.microsoft.com/azure-storage/azurite:latest
ports:
- "10000:10000"
- "10001:10001"
- "10002:10002"
volumes:
- ./.data/azurite:/data
profiles:
- storage
- cloud
mail:
image: sj26/mailcatcher:latest
ports:
- "${MAILCATCHER_PORT}:1080"
- "10250:1025"
profiles:
- mail
postgres:
image: postgres:14
ports:
- "5432:5432"
environment:
POSTGRES_DB: vault_dev
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_dev_data:/var/lib/postgresql/data
- ./.data/postgres/config:/etc/postgresql
- ./.data/postgres/log:/var/log/postgresql
profiles:
- postgres
mysql:
image: mysql:8.0
container_name: bw-mysql
ports:
- "3306:3306"
command:
- --default-authentication-plugin=mysql_native_password
- --innodb-print-all-deadlocks=ON
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: vault_dev
volumes:
- mysql_dev_data:/var/lib/mysql
profiles:
- mysql
idp:
image: kenchan0130/simplesamlphp:1.19.8
container_name: idp
ports:
- "8090:8080"
environment:
SIMPLESAMLPHP_SP_ENTITY_ID: ${IDP_SP_ENTITY_ID}
SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE: ${IDP_SP_ACS_URL}
SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE: null
volumes:
- ./authsources.php:/var/www/simplesamlphp/config/authsources.php
profiles:
- idp
rabbitmq:
image: rabbitmq:management
container_name: rabbitmq
ports:
- "5672:5672"
- "15672:15672"
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS}
volumes:
- rabbitmq_data:/var/lib/rabbitmq_data
profiles:
- rabbitmq
reverse-proxy:
image: nginx:alpine
container_name: reverse-proxy
volumes:
- "./reverse-proxy.conf:/etc/nginx/conf.d/default.conf"
ports:
- "${API_PROXY_PORT}:${API_PROXY_PORT}"
- "${IDENTITY_PROXY_PORT}:${IDENTITY_PROXY_PORT}"
profiles:
- proxy
volumes:
mssql_dev_data:
postgres_dev_data:
mysql_dev_data:
rabbitmq_data: