Quickstart for Docker on self-managed deployments
Serverless Observability Stack EDOT Collector
Learn how to set up the EDOT Collector and EDOT SDKs in a Docker environment to collect host metrics, logs and application traces.
Use the Add data screen in Elastic Observability to generate install commands that are already configured with the values you need.
- Open Elastic Observability.
- Go to Add data.
- Select what you want to monitor.
- Follow the instructions.
Follow these steps to deploy the EDOT Collector and EDOT OTel SDKs in Docker.
- 
				Create the config fileCreate the otel-collector-config.ymlfile with your EDOT Collector configuration. Refer to the configuration reference.
- 
				Retrieve your settingsRetrieve your Elasticsearch endpoint and API key. 
- 
				Create the .env fileCreate an .envfile with the following content. Replace the placeholder values with your Elastic Cloud credentials:HOST_FILESYSTEM=/ DOCKER_SOCK=/var/run/docker.sock ELASTIC_AGENT_OTEL=true COLLECTOR_CONTRIB_IMAGE=elastic/elastic-agent:9.2.0 ELASTIC_API_KEY=<your_api_key_here> ELASTIC_ENDPOINT=<your_endpoint_here> OTEL_COLLECTOR_CONFIG=/path/to/otel-collector-config.yml
- 
				Create the compose fileCreate a compose.ymlfile with the following content:services: otel-collector: image: ${COLLECTOR_CONTRIB_IMAGE} container_name: otel-collector deploy: resources: limits: memory: 1.5G restart: unless-stopped command: ["--config", "/etc/otelcol-config.yml" ] network_mode: host user: 0:0 volumes: - ${HOST_FILESYSTEM}:/hostfs:ro - ${DOCKER_SOCK}:/var/run/docker.sock:ro - ${OTEL_COLLECTOR_CONFIG}:/etc/otelcol-config.yml environment: - HOST_FILESYSTEM - ELASTIC_AGENT_OTEL - ELASTIC_API_KEY - ELASTIC_ENDPOINT - STORAGE_DIR=/usr/share/elastic-agent
- 
				Start the CollectorStart the Collector by running the following command: docker compose up -d
- 
				(Optional) Instrument your applicationsTo collect telemetry from applications and use the EDOT Collector as a gateway, instrument your target applications following the setup instructions: Configure your SDKs to send the data to the local EDOT Collector using OTLP/gRPC ( http://localhost:4317) or OTLP/HTTP (http://localhost:4318).
- 
				Install the content packsInstall the System OpenTelemetry Assets integration and the Docker OpenTelemetry Assets integration in Kibana. 
- 
				Explore your dataGo to Kibana and select Dashboards to explore your newly collected data. 
Having issues with EDOT? Refer to the Troubleshooting common issues with the EDOT Collector and Troubleshooting the EDOT SDKs for help.