this post was submitted on 01 Aug 2025
52 points (94.8% liked)

Selfhosted

50159 readers
585 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hello. Does anyone here use Zabbix to monitor their self-hosted environment? If so, what architecture do you have, and what does your deployment look like?

you are viewing a single comment's thread
view the rest of the comments
[–] mbirth@lemmy.ml 10 points 3 days ago

I have this running on a Raspberry Pi 5:

services:
  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=zabbix
      - POSTGRES_PASSWORD=zabbix
      - PGDATA=/var/lib/postgresql/data
    volumes:
      - /opt/docker/zabbix7/pgdata/16/data:/var/lib/postgresql/data
    networks:
      - zabbix7
    restart: unless-stopped

  # fping needs setsuid
  # Connect to container as "root" and run: chmod +s /usr/sbin/fping
  server:
    image: zabbix/zabbix-server-pgsql:alpine-7.4-latest
    environment:
      - POSTGRES_USER=zabbix
      - POSTGRES_PASSWORD=zabbix
      - PHP_TZ=Europe/London
      - ZBX_SERVER_NAME=zabbix.domain.com
      - ZBX_NODEADDRESS=zabbix-server:10051
    cap_add:
      - NET_RAW
      - NET_ADMIN
    volumes:
      - /opt/docker/zabbix7/zabbix-server/alertscripts:/usr/lib/zabbix/alertscripts
      - /opt/docker/zabbix7/zabbix-server/externalscripts:/usr/lib/zabbix/externalscripts
      - /opt/docker/zabbix7/zabbix-server/mibs:/usr/lib/zabbix/mibs
      - /opt/docker/zabbix7/zabbix-server/modules:/usr/lib/zabbix/modules
      - /opt/docker/zabbix7/zabbix-server/export:/var/lib/zabbix/export
      - /opt/docker/zabbix7/zabbix-server/snmptraps:/var/lib/zabbix/snmptraps
    ports:
      - 10051:10051
    depends_on:
      - db
    links:
      - "db:postgres-server"
    networks:
      - zabbix7
      - traefik-public
    restart: unless-stopped

  web:
    image: zabbix/zabbix-web-nginx-pgsql:alpine-7.4-latest
    restart: unless-stopped
    environment:
        - PHP_TZ=Europe/London
        - ZBX_SERVER_NAME=zabbix.domain.com
        - ZBX_SERVER_HOST=zabbix-server
    #ports:
    #  - 10080:8080
    #  - 10081:443
    depends_on:
      - server
      - db
    links:
      - "server:zabbix-server"
      - "db:postgres-server"
    networks:
      - zabbix7
      - traefik-public
    labels:
      traefik.enable: "true"
      traefik.http.routers.zbx.rule: Host(`zabbix.domain.com`)
      traefik.http.routers.zbx.entrypoints: https
      traefik.http.routers.zbx.tls: "true"
      traefik.http.routers.zbx.tls.certresolver: le
      traefik.http.services.zbx.loadbalancer.server.port: "8080"

networks:
  traefik-public:
    external: true
  zabbix7:
    attachable: true