Revised database initialization scripts to better handle Postgres and Oracle environments, introduced schema-specific configurations for Oracle EFCore, and cleaned up obsolete or redundant entity model setup. Streamlined project structure by relocating and renaming files for SQLite and Oracle EFCore setups, improving maintainability and readability.
134 lines
3.4 KiB
YAML
134 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-db
|
|
environment:
|
|
ORACLE_PWD: elsa
|
|
ports:
|
|
- "1521:1521"
|
|
- "5500:5500"
|
|
volumes:
|
|
- ./oracle-data-free1:/opt/oracle/oradata
|
|
- ./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:
|
|
postgres-data:
|
|
oracle-data-free1:
|
|
mysql_data2:
|
|
cockroachdb-data:
|
|
mongodb_data:
|