From d0522a518578c04dd4300d47796b81bfb1ac583d Mon Sep 17 00:00:00 2001 From: Joachim Hummel Date: Sun, 19 Nov 2023 13:35:49 +0000 Subject: [PATCH] Added new compose file for Raspberry Pi 4/5 --- docker-compose-arm64.yml | 153 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 docker-compose-arm64.yml diff --git a/docker-compose-arm64.yml b/docker-compose-arm64.yml new file mode 100644 index 0000000..f068af2 --- /dev/null +++ b/docker-compose-arm64.yml @@ -0,0 +1,153 @@ +version: '3' + +networks: + public: {} + private: {} + +volumes: + grafana_lib: {} + grafana_ds: + +services: +# influxdb: +# image: influxdb:alpine +# container_name: influxdb +# ports: +# - "8087:8086" +# networks: +# - public +# - private +# volumes: +# - ./data/influxdb:/var/lib/influxdb:rw +# environment: +# INFLUXDB_REPORTING_DISABLED: "true" +# INFLUXDB_DB: telegraf +# INFLUXDB_USER: telegraf +# INFLUXDB_USER_PASSWORD: nimda321 + + influxdb_cli: +# links: +# - influxdb + image: influxdb:alpine + container_name: influxdb2 + ports: + - "8086:8086" + volumes: + - ./data/influxdb:/var/lib/influxdb:rw + environment: + - DOCKER_INFLUXDB_INIT_MODE=setup + - DOCKER_INFLUXDB_INIT_USERNAME=admin + - DOCKER_INFLUXDB_INIT_PASSWORD=startadmin + - DOCKER_INFLUXDB_INIT_ORG=myorg + - DOCKER_INFLUXDB_INIT_BUCKET=start + - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=2il9Lpevo6ujoaLhxN5Euinz39UxfzeKaChv7O99B69NDxH2XNvu-zxow5vL-1StZ0Sxu7uw4UyIySEI95H1IQ== + entrypoint: ["./entrypoint.sh"] + restart: on-failure:10 + # depends_on: + # - influxdb + + grafana: +# image: grafana/grafana:5.1.3 + image: grafana/grafana:latest + container_name: grafana + ports: + - "3000:3000" + networks: + - public + - private + volumes: + - grafana_lib:/var/lib/grafana +# - ${PWD}/grafana/privkey1.pem:/privkey1.pem:ro +# - ${PWD}/grafana/fullchain1.pem:/fullchain1.pem:ro + - ${PWD}/grafana/:/var/lib/grafana/ds/ + environment: + GF_AUTH_ANONYMOUS_ENABLED: "false" + GF_SECURITY_ADMIN_PASSWORD: "nimda321" + GF_SECURITY_ADMIN_USER: "admin" + GF_SERVER_PROTOCOL: "http" + GF_SERVER_DOMAIN: "sebson.ddns.net" +# GF_SERVER_CERT_FILE: "/fullchain1.pem" +# GF_SERVER_CERT_KEY: "/privkey1.pem" + GF_SERVER_METRICS_ENABLED: "true" + GF_SERVER_METRICS_INTERVAL_SECONDS: "10" + INFLUXDB_URI: "http://influxdb:8086" + INFLUXDB_DB: telegraf + INFLUXDB_USER: telegraf + INFLUXDB_USER_PASSWORD: nimda321 + + telegraf: + image: telegraf:latest + container_name: telegraf + network_mode: "host" + volumes: + - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro + environment: + # real influx host + INFLUXDB_URI: "http://localhost:8086" + DOCKER_INFLUXDB_INIT_ORG: "myorg" + DOCKER_INFLUXDB_INIT_BUCKET: "start" + DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: "2il9Lpevo6ujoaLhxN5Euinz39UxfzeKaChv7O99B69NDxH2XNvu-zxow5vL-1StZ0Sxu7uw4UyIySEI95H1IQ==" + + + prometheus: + image: prom/prometheus-linux-arm64:latest + container_name: prometheus + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + networks: + - private + command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus" + ports: + - 9091:9090 + depends_on: + - node_exporter + + node_exporter: + image: prom/node-exporter-linux-arm64:latest + container_name: node_exporter + volumes: + - ${PWD}/node_exporter/justrun.py:/justrun.py:rw + - ${PWD}/node_exporter/hmon:/hmon:rw + - ${PWD}/node_exporter/smoothlogging:/smoothlogging:rw + - ${PWD}/node_exporter/textfile_collector:/var/lib/node_exporter/textfile_collector/ + networks: + - public + - private + environment: + DOGSNAME: "GULA,BODKA" + expose: + - 9100 + ports: + - 9101:9100 + + cadvisor: + image: google/cadvisor:v0.28.3 + container_name: cadvisor + volumes: + - /:/rootfs:ro + - /var/run:/var/run:rw + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + - /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux + restart: unless-stopped + expose: + - 8080 + networks: + - private + - public + labels: + org.label-schema.group: "monitoring" + + alertmanager: + image: prom/alertmanager + container_name: alertmanager + ports: + - 9093:9093 + volumes: + - ./alertmanager/:/etc/alertmanager/ + networks: + - private + restart: unless-stopped + command: + - '--config.file=/etc/alertmanager/config.yml' + - '--storage.path=/alertmanager'