elsa-core/docker/docker-compose-datadog.yml
Sipke Schoorstra 32da99e3ec
Add docker-compose file for Datadog and OpenTelemetry setup
Introduce a new docker-compose configuration to integrate Datadog and OpenTelemetry with services like PostgreSQL, RabbitMQ, Redis, and Elsa. Updated the Datadog API key in an existing compose file for security purposes. This setup enables detailed monitoring, tracing, and metrics collection for development environments.
2025-03-16 19:49:35 +01:00

77 lines
2.4 KiB
YAML

services:
elsa-studio:
pull_policy: always
build:
context: ../.
dockerfile: ./docker/ElsaStudio.Dockerfile
depends_on:
- elsa-server
environment:
ASPNETCORE_ENVIRONMENT: Development
ELSASERVER__URL: "http://localhost:13000/elsa/api"
ports:
- "14000:8080"
elsa-server:
pull_policy: always
build:
context: ../.
dockerfile: ./docker/ElsaServer.Dockerfile
depends_on:
- datadog-agent
environment:
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: false
OTEL_RESOURCE_ATTRIBUTES: service.name=aspnet-app
OTEL_EXPORTER_OTLP_ENDPOINT: http://datadog-agent:4317
OTEL_EXPORTER_OTLP_HEADERS: "DD_API_KEY=4cdbf04b80065d715d9d12ee1fd84e22"
DD_AGENT_HOST: datadog-agent
DD_ENV: development
DD_TRACE_DEBUG: true
DD_TRACE_ENABLED: true
DD_TRACE_OTEL_ENABLED: true
DD_TRACE_LOGGING_ENABLED: true
DD_SERVICE: "Elsa Server"
DD_VERSION: "3.4.0"
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
ports:
- "13000:8080"
datadog-agent:
image: gcr.io/datadoghq/agent:7
environment:
DD_API_KEY: "<hidden>"
DD_SITE: "datadoghq.eu"
DD_HOSTNAME: "datadog-agent"
DD_LOGS_ENABLED: "true"
DD_OTLP_CONFIG_LOGS_ENABLED: "true"
DD_OTLP_CONFIG_TRACES_ENABLED: "true"
DD_OTLP_CONFIG_METRICS_ENABLED: "true"
DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL: "true"
DD_APM_ENABLED: "true"
DD_APM_NON_LOCAL_TRAFFIC: "true"
DD_DOGSTATSD_NON_LOCAL_TRAFFIC: "true"
DD_APM_RECEIVER_SOCKET: /var/run/datadog/apm.socket
DD_DOGSTATSD_SOCKET: /var/run/datadog/dsd.socket
DD_APM_INSTRUMENTATION_ENABLED: true
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT: 0.0.0.0:4317
DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_HTTP_ENDPOINT: 0.0.0.0:4318
# Service autodiscovery
DD_AC_INCLUDE: "name:elsa-workflows"
DD_AC_EXCLUDE: "name:datadog-agent"
ports:
- "8126:8126" # APM
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
volumes:
- /var/run/datadog:/var/run/datadog
- /var/run/docker.sock:/var/run/docker.sock:ro
- /proc/:/host/proc/:ro
- /sys/fs/cgroup:/host/sys/fs/cgroup:ro
volumes:
postgres-data: