forked from Deuxfleurs/nixcfg
69 lines
2 KiB
YAML
69 lines
2 KiB
YAML
version: "2"
|
|
services:
|
|
|
|
otel:
|
|
image: otel/opentelemetry-collector-contrib:${OTEL_COLLECT_TAG}
|
|
command: [ "--config=/etc/otel-config.yaml" ]
|
|
volumes:
|
|
- ../config/otel-config.yaml:/etc/otel-config.yaml
|
|
network_mode: "host"
|
|
|
|
elastic:
|
|
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_BUNDLE_TAG}
|
|
container_name: elastic
|
|
environment:
|
|
- "node.name=elastic"
|
|
- "http.port=9200"
|
|
- "cluster.name=es-docker-cluster"
|
|
- "discovery.type=single-node"
|
|
- "bootstrap.memory_lock=true"
|
|
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
|
ulimits:
|
|
memlock:
|
|
soft: -1
|
|
hard: -1
|
|
nofile: 65536
|
|
volumes:
|
|
- "es_data:/usr/share/elasticsearch/data"
|
|
network_mode: "host"
|
|
|
|
# kibana instance and collectors
|
|
# see https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-docker.html
|
|
kibana:
|
|
image: docker.elastic.co/kibana/kibana:${ELASTIC_BUNDLE_TAG}
|
|
container_name: kibana
|
|
environment:
|
|
SERVER_NAME: "kibana.local"
|
|
# ELASTICSEARCH_URL: "http://localhost:9700"
|
|
ELASTICSEARCH_HOSTS: "http://localhost:9200"
|
|
depends_on: [ 'elastic' ]
|
|
network_mode: "host"
|
|
|
|
apm:
|
|
image: docker.elastic.co/apm/apm-server:${ELASTIC_BUNDLE_TAG}
|
|
container_name: apm
|
|
volumes:
|
|
- "../config/apm-config.yaml:/usr/share/apm-server/apm-server.yml:ro"
|
|
depends_on: [ 'elastic' ]
|
|
network_mode: "host"
|
|
|
|
grafana:
|
|
# see https://grafana.com/docs/grafana/latest/installation/docker/
|
|
image: "grafana/grafana:8.3.5"
|
|
container_name: grafana
|
|
# restart: unless-stopped
|
|
environment:
|
|
- "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel,grafana-worldmap-panel,grafana-polystat-panel"
|
|
network_mode: "host"
|
|
volumes:
|
|
# chown 472:472 if needed
|
|
- grafana:/var/lib/grafana
|
|
- ../config/grafana/provisioning/:/etc/grafana/provisioning/
|
|
|
|
volumes:
|
|
es_data:
|
|
driver: local
|
|
grafana:
|
|
driver: local
|
|
metricbeat:
|
|
driver: local
|