Introduced an SQL Server service using the official 2022 image. Configured environment variables, ports, and a volume for persistent data storage. This addition supports development and testing scenarios requiring SQL Server.
145 lines
3.6 KiB
YAML
145 lines
3.6 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:latest
|
|
command: -c 'max_connections=2000'
|
|
environment:
|
|
POSTGRES_USER: elsa
|
|
POSTGRES_PASSWORD: elsa
|
|
POSTGRES_DB: elsa
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
- ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh # This will initialize the 'tracelens' database
|
|
ports:
|
|
- "5432:5432"
|
|
|
|
sqlserver:
|
|
image: mcr.microsoft.com/mssql/server:2022-latest
|
|
environment:
|
|
- ACCEPT_EULA=Y
|
|
- MSSQL_SA_PASSWORD=!Elsa2025@
|
|
ports:
|
|
- 1433:1433
|
|
volumes:
|
|
- sqlserver_data:/var/opt/mssql
|
|
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: elsa
|
|
MYSQL_USER: admin
|
|
MYSQL_PASSWORD: password
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data2:/var/lib/mysql
|
|
|
|
oracle:
|
|
image: container-registry.oracle.com/database/free:latest
|
|
container_name: oracle-db
|
|
environment:
|
|
ORACLE_PWD: elsa
|
|
ports:
|
|
- "1521:1521"
|
|
- "5500:5500"
|
|
volumes:
|
|
- ./data/oracle-data:/opt/oracle/oradata
|
|
- ./setup/oracle-setup:/opt/oracle/scripts/setup
|
|
|
|
mongodb:
|
|
image: mongo:latest
|
|
ports:
|
|
- "127.0.0.1:27017:27017"
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
|
|
cockroachdb:
|
|
image: cockroachdb/cockroach:v22.1.0
|
|
command: start-single-node --insecure
|
|
ports:
|
|
- "26257:26257" # CockroachDB SQL port
|
|
- "8080:8080" # CockroachDB UI port
|
|
volumes:
|
|
- cockroachdb-data:/cockroach/cockroach-data
|
|
environment:
|
|
- COCKROACH_DATABASE=elsa
|
|
|
|
rabbitmq:
|
|
image: "rabbitmq:4-management"
|
|
ports:
|
|
- "15672:15672"
|
|
- "5672:5672"
|
|
|
|
redis:
|
|
image: redis:latest
|
|
ports:
|
|
- "127.0.0.1:6379:6379"
|
|
|
|
plantuml-server:
|
|
image: plantuml/plantuml-server:tomcat
|
|
container_name: plantuml-server
|
|
ports:
|
|
- 7080:8080
|
|
|
|
trace-lens:
|
|
image: docker.io/rogeralsing/tracelens:latest
|
|
pull_policy: always
|
|
depends_on:
|
|
- plantuml-server
|
|
- postgres
|
|
ports:
|
|
- 7001:5001
|
|
- 4317:4317
|
|
environment:
|
|
- PlantUml__RemoteUrl=
|
|
- ConnectionStrings__DefaultConnection=USER ID=tracelens;PASSWORD=tracelenspass;HOST=postgres;PORT=5432;DATABASE=tracelens;POOLING=true;
|
|
|
|
smtp4dev: # Mock SMTP server
|
|
image: rnwood/smtp4dev
|
|
container_name: smtp4dev
|
|
restart: always
|
|
ports:
|
|
- "3000:80" # Web interface
|
|
- "2525:25" # SMTP port
|
|
environment:
|
|
- ASPNETCORE_URLS=http://+:80
|
|
- Logging__LogLevel__Default=Information
|
|
|
|
elsa-server:
|
|
build:
|
|
context: ../.
|
|
dockerfile: ./docker/ElsaServer.Dockerfile
|
|
depends_on:
|
|
- postgres
|
|
- rabbitmq
|
|
- redis
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
PYTHONNET_PYDLL: /opt/homebrew/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/bin/python3.11
|
|
PYTHONNET_RUNTIME: coreclr
|
|
CONNECTIONSTRINGS__POSTGRESQL: "Server=postgres;Username=elsa;Database=elsa;Port=5432;Password=elsa;SSLMode=Prefer"
|
|
CONNECTIONSTRINGS__RABBITMQ: "amqp://guest:guest@rabbitmq:5672/"
|
|
CONNECTIONSTRINGS__REDIS: "redis:6379"
|
|
DISTRIBUTEDLOCKPROVIDER: "Postgres"
|
|
ports:
|
|
- "13000:8080"
|
|
|
|
elsa-studio:
|
|
build:
|
|
context: ../.
|
|
dockerfile: ./docker/ElsaStudio.Dockerfile
|
|
environment:
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
ELSASERVER__URL: "http://localhost:13000/elsa/api"
|
|
ports:
|
|
- "14000:8080"
|
|
|
|
volumes:
|
|
sqlserver_data:
|
|
postgres-data:
|
|
oracle-data-free1:
|
|
mysql_data2:
|
|
cockroachdb-data:
|
|
mongodb_data:
|