# LibreNMS Docker Deployment on Raspberry Pi 5

**Date:** May 13, 2025  
**Category:** Monitoring / Raspberry Pi Projects  
**Backlink:** *You can add this to a “Pi5 Monitoring Projects” page or your “Homelab Projects” index*

---

## Project Overview

This guide walks through setting up **LibreNMS** on a **Raspberry Pi 5 (64-bit)** using **Docker Compose**, then configuring SNMP on the Pi to allow it to be monitored—including fixing the common **“No Processors”** graph error by enabling `extend` support in SNMP for `/proc/stat`.

---

## Prerequisites

- Raspberry Pi 5 running 64-bit Raspberry Pi OS (Bookworm or similar)
- Docker and Docker Compose installed
- Static IP (e.g. `192.168.1.174`)
- Basic familiarity with SSH and Linux commands

---

## Step 1: Docker Setup

Install Docker (skip if already installed):

```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

```

---

## Step 2: Clean Up Old LibreNMS Docker Setup (if any)

```bash
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker volume prune -f
rm -rf ~/librenms

```

---

## Step 3: Set Up LibreNMS Docker Files

Create a new folder:

```bash
mkdir ~/librenms && cd ~/librenms

```

Download example files from the official repo:

```bash
wget https://raw.githubusercontent.com/librenms/docker/master/examples/compose/compose.yml
wget https://raw.githubusercontent.com/librenms/docker/master/examples/compose/.env
wget https://raw.githubusercontent.com/librenms/docker/master/examples/compose/librenms.env
wget https://raw.githubusercontent.com/librenms/docker/master/examples/compose/msmtpd.env

```

---

## Step 4: Edit `.env` File

```bash
nano .env

```

Set your timezone and user/group IDs:

```env
TZ=America/Chicago
PUID=1000
PGID=1000

```

---

## Step 5: Start the Docker Stack

```bash
docker compose -f compose.yml up -d

```

Once all containers start, LibreNMS will be accessible at:  
📍 `http://<PI-IP>:8000` (e.g., `http://192.168.1.174:8000`)

---

## Step 6: Create LibreNMS User

Once web UI is accessible, create your first admin user through the setup wizard.

---

## Step 7: Install and Configure SNMP on the Pi

Install SNMP daemon:

```bash
sudo apt update
sudo apt install snmpd snmp -y

```

Edit `/etc/snmp/snmpd.conf`:

```bash
sudo nano /etc/snmp/snmpd.conf

```

Modify/add the following:

```conf
agentAddress udp:161
rocommunity public
sysLocation Sitting on a Dusty Shelf
sysContact Me <zippybytes@protonmail.com>
extend cpuinfo /bin/cat /proc/stat

```

Restart the SNMP service:

```bash
sudo systemctl restart snmpd

```

---

## Step 8: Verify SNMP Works

```bash
snmpwalk -v2c -c public localhost 1.3.6.1.2.1.1
snmpwalk -v2c -c public localhost system

```

Expected result includes system description, contact, location, and uptime.

---

## Step 9: Fix “No Processors” Graph Issue

If LibreNMS shows “Error Drawing Graph: No Processors”:

Ensure `extend cpuinfo /bin/cat /proc/stat` is set in `/etc/snmp/snmpd.conf`, then test it:

```bash
snmpwalk -v2c -c public localhost NET-SNMP-EXTEND-MIB::nsExtendOutputFull.\"cpuinfo\"

```

You should see actual `/proc/stat` data returned.

---

## Final Test

1. Go to **Devices** &gt; **Add Device** in LibreNMS.
2. Enter:
    
    
    - Hostname/IP: `192.168.1.174`
    - SNMP Version: `v2c`
    - Community: `public`
3. Click **Add Device**.

After polling completes (5–10 mins), graphs will populate correctly, including CPU usage.  
  
[![2025-05-13 20_25_15-192.168.1.174 Overview _ LibreNMS — Mozilla Firefox.png](https://docs.natenetworks.com/uploads/images/gallery/2025-05/scaled-1680-/tAFaDyC94hjdqSBg-2025-05-13-20-25-15-192-168-1-174-overview-librenms-mozilla-firefox.png)](https://docs.natenetworks.com/uploads/images/gallery/2025-05/tAFaDyC94hjdqSBg-2025-05-13-20-25-15-192-168-1-174-overview-librenms-mozilla-firefox.png)

---

## 📚 Notes

- If SNMP errors appear during walk attempts, ensure MIBs are installed:
    
    ```bash
    sudo apt install snmp-mibs-downloader -y
    sudo sed -i 's/^mibs :/#mibs :/' /etc/snmp/snmp.conf
    ```
- Reload or restart SNMP again:
    
    ```bash
    sudo systemctl restart snmpd
    ```

---

## 📦 Services Started

- `librenms` (Main Web Interface)
- `librenms_db` (MariaDB)
- `librenms_redis`
- `librenms_syslogng`
- `librenms_snmptrapd`
- `librenms_msmtpd`

---

## 🧭 Next Steps

- Enable polling other devices (routers, switches, VPS)
- Add disk, network, and service monitors
- Create alerts for offline devices
- Enable email notifications via `msmtpd.env`