diff --git a/analytics/docker-compose.yml b/analytics/docker-compose.yml new file mode 100644 index 0000000..1cd585c --- /dev/null +++ b/analytics/docker-compose.yml @@ -0,0 +1,121 @@ +version: '3.9' + +services: + grafana: + image: grafana/grafana + container_name: grafana + restart: unless-stopped + volumes: + - '/home/nick/configs/analytics/grafana:/var/lib/grafana' + environment: + - 'GF_SECURITY_ALLOW_EMBEDDING=true' + - 'GF_SMTP_ENABLED=true' + - 'GF_SMTP_HOST=${SMTP_HOST}' + - 'GF_SMTP_USER=${SMTP_USER}' + - 'GF_SMTP_PASSWORD=${SMTP_PASSWORD}' + - 'GF_SMTP_FROM_ADDRESS=${SMTP_FROM}' + - 'GF_RENDERING_SERVER_URL=http://grafana_image_renderer:8081/render' + - 'GF_RENDERING_CALLBACK_URL=http://grafana:3000' + - 'GF_LOG_FILTERS=rendering:debug' + - 'GF_SERVER_ROOT_URL=${GF_ROOT}' + - 'GF_SERVER_DOMAIN=${GF_DOMAIN}' + - 'GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-worldmap-panel' + networks: + - proxy + - grafana + user: "1000:1000" + depends_on: + - grafana_image_renderer + + grafana_image_renderer: + image: grafana/grafana-image-renderer + container_name: grafana_image_renderer + restart: unless-stopped + networks: + - grafana + + influxdb: + image: 'influxdb:1.8' + container_name: influxdb + restart: unless-stopped + volumes: + - '/home/nick/configs/analytics/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf' + - '/home/nick/configs/analytics/influxdb/db:/var/lib/influxdb' + environment: + - PUID=1000 + - PGID=1000 + networks: + - grafana + + telegraf: + image: telegraf:1.20.4 + container_name: telegraf + restart: unless-stopped + volumes: + - '/:/hostfs:ro' + - '/etc:/hostfs/etc:ro' + - '/proc:/hostfs/proc:ro' + - '/sys:/hostfs/sys:ro' + - '/var:/hostfs/var:ro' + - '/run:/hostfs/run:ro' + - '/var/run/docker.sock:/var/run/docker.sock' + - '/home/nick/configs/analytics/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro' + - '/home/nick/configs/analytics/telegraf/hostnet.sh:/etc/telegraf/hostnet.sh' + environment: + - HOST_ETC=/hostfs/etc + - HOST_PROC=/hostfs/proc + - HOST_SYS=/hostfs/sys + - HOST_VAR=/hostfs/var + - HOST_RUN=/hostfs/run + - HOST_MOUNT_PREFIX=/hostfs + networks: + - grafana + - proxy + user: "1000:975" + depends_on: + - influxdb + + speedtest: + image: atribe/speedtest-for-influxdb-and-grafana + container_name: speedtest + restart: unless-stopped + volumes: + - '/home/nick/configs/analytics/speedtest/config.ini:/src/config.ini' + - '/home/nick/configs/analytics/speedtest/speedtest.py:/usr/local/lib/python3.7/site-packages/speedtest.py' + environment: + - PGID=1000 + - PUID=1000 + networks: + - grafana + + scrutiny: + image: lscr.io/linuxserver/scrutiny + container_name: scrutiny + restart: unless-stopped + volumes: + - '/home/nick/configs/analytics/scrutiny:/config' + - '/run/udev:/run/udev:ro' + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Athens + - SCRUTINY_API_ENDPOINT=http://scrutiny:8080 + - SCRUTINY_WEB=true + - SCRUTINY_COLLECTOR=true + ports: + - 9080:8080 + devices: + - /dev/sda:/dev/sda + - /dev/sdb:/dev/sdb + - /dev/sdc:/dev/sdc + - /dev/sdd:/dev/sdd + cap_add: + - SYS_RAWIO + - SYS_ADMIN + +networks: + grafana: + name: grafana + proxy: + external: true + name: proxy