This guide uses Docker Compose to run LibreNMS network monitoring.
For Docker installation, see Docker.
mkdir -p /opt/librenms/{data,logs}
cd /opt/librenms
Create docker-compose.yml:
services:
librenms:
image: librenms/librenms:26.2.0
container_name: librenms
hostname: librenms
ports:
- "80:80"
volumes:
- ./data:/data
- ./logs:/opt/librenms/logs
environment:
- DB_HOST=mariadb
- DB_NAME=librenms
- DB_USER=librenms
- DB_PASSWORD=librenms_password
- TZ=UTC
- PUID=1000
- PGID=1000
depends_on:
- mariadb
- redis
restart: unless-stopped
networks:
- librenms
mariadb:
image: mariadb:11
container_name: librenms-mariadb
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=librenms
- MYSQL_USER=librenms
- MYSQL_PASSWORD=librenms_password
volumes:
- ./data/mysql:/var/lib/mysql
restart: unless-stopped
networks:
- librenms
redis:
image: redis:7-alpine
container_name: librenms-redis
volumes:
- ./data/redis:/data
restart: unless-stopped
networks:
- librenms
dispatcher:
image: librenms/librenms:26.2.0
container_name: librenms-dispatcher
hostname: librenms
volumes:
- ./data:/data
- ./logs:/opt/librenms/logs
environment:
- DB_HOST=mariadb
- DB_NAME=librenms
- DB_USER=librenms
- DB_PASSWORD=librenms_password
- DISPATCHER=true
depends_on:
- mariadb
- redis
restart: unless-stopped
networks:
- librenms
command: /opt/librenms/dispatcher.php
networks:
librenms:
driver: bridge
docker compose up -d
Note: Initial startup may take 5-10 minutes.
Check container status:
docker compose ps
View logs:
docker compose logs -f librenms
Access web UI at http://SERVER_IP with:
librenmsdocker compose exec librenms ./lnms
docker compose exec librenms ./lnms discover:all
docker compose restart librenms
docker compose down
docker compose pull
docker compose up -d
./data directoryRunning containers in production? We help with:
Need help? office@linux-server-admin.com or Contact Us