This commit introduces Oracle database integration by adding necessary configurations, entity mappings, and Docker Compose setup. Oracle-specific mappings ensure compatibility with NCLOB for large data handling. The changes also include updates to appsettings, enum for SqlDatabaseProvider, and project references to support Oracle.
135 lines
3.4 KiB
YAML
135 lines
3.4 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"
|
|
|
|
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
|
|
environment:
|
|
ORACLE_PDB: ORCLPDB1
|
|
ORACLE_PWD: elsa
|
|
ports:
|
|
- "1521:1521"
|
|
- "5500:5500"
|
|
volumes:
|
|
- oracle-data-free:/opt/oracle/oradata
|
|
shm_size: '1g'
|
|
|
|
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:
|
|
postgres-data:
|
|
oracle-data-free:
|
|
mysql_data2:
|
|
cockroachdb-data:
|
|
mongodb_data:
|