#volumes: # netdataconfig: # netdatalib: # netdatacache: version: "3" services: beszel: image: docker.io/henrygd/beszel:latest container_name: beszel restart: unless-stopped ports: - 8090:8090 volumes: - /mnt/flash1/podman/monitoring/beszel/data:/beszel_data - ./beszel_socket:/beszel_socket beszel-agent: image: docker.io/henrygd/beszel-agent container_name: beszel-agent restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /mnt/flash1/podman/monitoring/beszel_agent/data:/var/lib/beszel-agent # monitor other disks / partitions by mounting a folder in /extra-filesystems # - /mnt/disk/.beszel:/extra-filesystems/sda1:ro environment: LISTEN: 45876 KEY: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUf2dTtQj9WJesH11kFD7/qzMIubcHzuZwN92XnHpfB' TOKEN: 1ac0ad26-9c32-4c45-b02b-c4aa2f8eb40c HUB_URL: https://beszel.liphlink.xyz dozzle: image: docker.io/amir20/dozzle:latest container_name: dozzle volumes: - /run/podman/podman.sock:/var/run/docker.sock:ro ports: - "8078:8080" environment: - DOZZLE_LEVEL=info - DOZZLE_TAILSIZE=300 restart: unless-stopped pulse: image: docker.io/rcourtman/pulse:latest container_name: pulse restart: unless-stopped ports: - "${PULSE_PORT:-7655}:7655" volumes: - pulse-data:/data # Secure temperature monitoring via host-side proxy (requires setup - see docs) # Uncomment after installing pulse-sensor-proxy on host with --standalone flag # Mount is read-only (:ro) for security - proxy uses SO_PEERCRED for access control # - /run/pulse-sensor-proxy:/run/pulse-sensor-proxy:ro environment: - TZ=${TZ:-UTC} healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:7655/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s netdata: container_name: netdata image: docker.io/netdata/netdata:latest ports: - '19999:19999' volumes: - /mnt/flash1/podman/monitoring/netdata/data:/etc/netdata - /mnt/flash1/podman/monitoring/netdata/lib:/var/lib/netdata - /mnt/flash1/podman/monitoring/netdata/cache:/var/cache/netdata - '/etc/passwd:/host/etc/passwd:ro' - '/etc/group:/host/etc/group:ro' - '/proc:/host/proc:ro' - '/sys:/host/sys:ro' - '/etc/os-release:/host/etc/os-release:ro' - '/etc/localtime:/etc/localtime:ro' - '/var/log:/host/var/log:ro' - '/var/run/docker.sock:/var/run/docker.sock:ro' - '/run/dbus:/run/dbus:ro' restart: unless-stopped cap_add: - SYS_PTRACE - SYS_ADMIN security_opt: - apparmor=unconfined #networks: ["nginx_nginx_network"] #optional uptime-kuma: image: docker.io/louislam/uptime-kuma:latest container_name: uptime-kuma volumes: - ./data/uptime-kuma:/app/data ports: - "3001:3001" # : restart: always volumes: uptime-kuma: netdataconfig: netdatalib: netdatacache: pulse-data: # # loki: # container_name: loki # image: docker.io/grafana/loki:main # networks: # - grafana-monitoring # volumes: # - ./data/loki/:/etc/loki # ports: # - "3100:3100" # restart: unless-stopped # command: -config.file=./config/loki/loki-config.yml # # promtail: # container_name: promtail # image: docker.io/grafana/promtail:main # networks: # - grafana-monitoring # volumes: # - /var/log:/var/log # - ./data/promtail/:/etc/promtail # ports: # - "1514:1514" # this is only needed if you are going to send syslogs # restart: unless-stopped # command: -config.file=./config/promtail/promtail-config.yml # # grafana: # container_name: grafana # image: docker.io/grafana/grafana-oss:main-ubuntu # user: "0" # networks: # - grafana-monitoring # - proxy # volumes: # - ./data/grafana/:/var/lib/grafana # restart: unless-stopped # ports: # - 3000:3000 # labels: # - "traefik.enable=true" # - "traefik.http.routers.grafana.entrypoints=http" # - "traefik.http.routers.grafana.rule=Host(`grafana.jimsgarage.co.uk`)" # - "traefik.http.routers.grafana.middlewares=default-whitelist@file" # - "traefik.http.middlewares.grafana-https-redirect.redirectscheme.scheme=https" # - "traefik.http.routers.grafana.middlewares=grafana-https-redirect" # - "traefik.http.routers.grafana-secure.entrypoints=https" # - "traefik.http.routers.grafana-secure.rule=Host(`grafana.jimsgarage.co.uk`)" # - "traefik.http.routers.grafana-secure.tls=true" # - "traefik.http.routers.grafana-secure.service=grafana" # - "traefik.http.services.grafana.loadbalancer.server.port=3000" # - "traefik.docker.network=proxy" # # influxdb: # container_name: influxdb # image: docker.io/influxdb:latest # restart: unless-stopped # ports: # - 8086:8086 # - 8089:8089/udp # networks: # - grafana-monitoring # volumes: # - ./data/influxdb/:/var/lib/influxdb2 # # telegraf: # container_name: docker.io/telegraf # restart: unless-stopped # user: 1000:1000 #you need to find the GID of Docker if not added to Sudo group changed from 995 to 1000 # networks: # - grafana-monitoring # volumes: # - /run/user/1000/podman/podman.sock:/run/podman/podman.sock # - './config/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro' # - './data/telegraf/mibs/:/usr/share/snmp/mibs' # 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 # image: docker.io/telegraf # # graphite: # image: docker.io/graphiteapp/graphite-statsd # container_name: graphite # restart: unless-stopped # ports: # - 8050:80 # nginx # - 2003-2004 # carbon receiver - plaintext & pickle # - 2023-2024 # carbon aggregator - plaintext & pickle # - 8125:8125/udp # statsd # - 8126:8126 # statsd admin # volumes: # - ./config/graphite/configs/:/opt/graphite/conf # - ./data/graphite/data/:/opt/graphite/storage # - ./config/graphite/statsd_config/:/opt/statsd/config # networks: # - grafana-monitoring # # prometheus: # image: docker.io/prom/prometheus # container_name: prometheus # restart: unless-stopped # ports: # - 9090:9090 # volumes: # - ./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml # networks: # - grafana-monitoring # #networks: # grafana-monitoring: # proxy: # # external: true