feat(librenms): add LibreNMS
This commit is contained in:
parent
c34bb5d942
commit
c5945259e0
14 changed files with 237 additions and 0 deletions
5
quadlets/librenms/README.md
Normal file
5
quadlets/librenms/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
## Create DB password secret
|
||||||
|
|
||||||
|
```bash
|
||||||
|
printf 'supersecretpassword' | podman secret create librenms-db-pw -
|
||||||
|
```
|
3
quadlets/librenms/data.volume
Normal file
3
quadlets/librenms/data.volume
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[Volume]
|
||||||
|
VolumeName=librenms-data
|
||||||
|
|
4
quadlets/librenms/db.env
Normal file
4
quadlets/librenms/db.env
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
DB_HOST=librenms-db
|
||||||
|
DB_NAME=librenms
|
||||||
|
DB_USER=librenms
|
||||||
|
DB_TIMEOUT=60
|
30
quadlets/librenms/dispatcher.container
Normal file
30
quadlets/librenms/dispatcher.container
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS dispatcher
|
||||||
|
After=librenms
|
||||||
|
After=librenms-redis
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/librenms/librenms:latest
|
||||||
|
ContainerName=librenms-dispatcher
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-dispatcher
|
||||||
|
|
||||||
|
Volume=librenms-data:/data
|
||||||
|
|
||||||
|
EnvironmentFile=librenms.env
|
||||||
|
EnvironmentFile=tz.env
|
||||||
|
EnvironmentFile=db.env
|
||||||
|
|
||||||
|
Environment=DISPATCHER_NODE_ID=dispatcher1
|
||||||
|
Environment=SIDECAR_DISPATCHER=1
|
||||||
|
|
||||||
|
Secret=librenms-db-pw,type=env,target=DB_PASSWORD
|
32
quadlets/librenms/librenms.container
Normal file
32
quadlets/librenms/librenms.container
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS
|
||||||
|
After=librenms-db
|
||||||
|
After=librenms-redis
|
||||||
|
After=librenms-msmtpd
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/librenms/librenms:latest
|
||||||
|
ContainerName=librenms
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
AddCapability=NET_ADMIN
|
||||||
|
AddCapability=NET_RAW
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms
|
||||||
|
PublishPort=8000:8000/tcp
|
||||||
|
|
||||||
|
Volume=librenms-data:/data
|
||||||
|
|
||||||
|
EnvironmentFile=librenms.env
|
||||||
|
EnvironmentFile=tz.env
|
||||||
|
EnvironmentFile=db.env
|
||||||
|
|
||||||
|
Secret=librenms-db-pw,type=env,target=DB_PASSWORD
|
16
quadlets/librenms/librenms.env
Normal file
16
quadlets/librenms/librenms.env
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
MEMORY_LIMIT=256M
|
||||||
|
MAX_INPUT_VARS=1000
|
||||||
|
UPLOAD_MAX_SIZE=16M
|
||||||
|
OPCACHE_MEM_SIZE=128
|
||||||
|
REAL_IP_FROM=0.0.0.0/32
|
||||||
|
REAL_IP_HEADER=X-Forwarded-For
|
||||||
|
LOG_IP_VAR=remote_addr
|
||||||
|
|
||||||
|
CACHE_DRIVER=redis
|
||||||
|
SESSION_DRIVER=redis
|
||||||
|
REDIS_HOST=redis
|
||||||
|
|
||||||
|
LIBRENMS_SNMP_COMMUNITY=librenms
|
||||||
|
|
||||||
|
LIBRENMS_WEATHERMAP=false
|
||||||
|
LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * *
|
28
quadlets/librenms/mariadb.container
Normal file
28
quadlets/librenms/mariadb.container
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS DB
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/mariadb/mariadb:10
|
||||||
|
ContainerName=librenms-db
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-db
|
||||||
|
|
||||||
|
Volume=librenms-db:/var/lib/mysql
|
||||||
|
|
||||||
|
EnvironmentFile=tz.env
|
||||||
|
EnvironmentFile=mariadb.env
|
||||||
|
|
||||||
|
Environment=MARAIADB_RANDOM_ROOT_PASSWORD=yes
|
||||||
|
|
||||||
|
Secret=librenms-db-pw,type=env,target=MYSQL_PASSWORD
|
||||||
|
|
||||||
|
Exec=mysqld --innodb-file-per-table=1 --lower-case-table-names=0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
2
quadlets/librenms/mariadb.env
Normal file
2
quadlets/librenms/mariadb.env
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
MYSQL_DATABASE=librenms
|
||||||
|
MYSQL_USER=librenms
|
19
quadlets/librenms/msmtpd.container
Normal file
19
quadlets/librenms/msmtpd.container
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS msmtpd
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/crazymax/msmtpd:latest
|
||||||
|
ContainerName=librenms-msmtpd
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-msmtpd
|
||||||
|
|
||||||
|
EnvironmentFile=msmtpd.env
|
10
quadlets/librenms/msmtpd.env
Normal file
10
quadlets/librenms/msmtpd.env
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# https://github.com/crazy-max/docker-msmtpd
|
||||||
|
SMTP_HOST=smtp.gmail.com
|
||||||
|
SMTP_PORT=587
|
||||||
|
SMTP_TLS=on
|
||||||
|
SMTP_STARTTLS=on
|
||||||
|
SMTP_TLS_CHECKCERT=on
|
||||||
|
SMTP_AUTH=on
|
||||||
|
SMTP_USER=foo
|
||||||
|
SMTP_PASSWORD=bar
|
||||||
|
SMTP_FROM=foo@gmail.com
|
19
quadlets/librenms/redis.container
Normal file
19
quadlets/librenms/redis.container
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS Redis
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/redis/redis:7.2-alpine
|
||||||
|
ContainerName=librenms-redis
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-redis
|
||||||
|
|
||||||
|
EnvironmentFile=tz.env
|
34
quadlets/librenms/snmptrapd.container
Normal file
34
quadlets/librenms/snmptrapd.container
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS snmptrapd
|
||||||
|
After=librenms
|
||||||
|
After=librenms-redis
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/librenms/librenms:latest
|
||||||
|
ContainerName=librenms-snmptrapd
|
||||||
|
AutoUpdate=registry
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-snmptrapd
|
||||||
|
PublishPort=162:162/tcp
|
||||||
|
PublishPort=162:162/udp
|
||||||
|
|
||||||
|
AddCapability=NET_ADMIN
|
||||||
|
AddCapability=NET_RAW
|
||||||
|
|
||||||
|
Volume=librenms-data:/data
|
||||||
|
|
||||||
|
EnvironmentFile=librenms.env
|
||||||
|
EnvironmentFile=tz.env
|
||||||
|
EnvironmentFile=db.env
|
||||||
|
|
||||||
|
Environment=SIDECAR_SNMPTRAPD=1
|
||||||
|
|
||||||
|
Secret=librenms-db-pw,type=env,target=DB_PASSWORD
|
34
quadlets/librenms/syslogng.container
Normal file
34
quadlets/librenms/syslogng.container
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[Unit]
|
||||||
|
Description=LibreNMS syslogng
|
||||||
|
After=librenms
|
||||||
|
After=librenms-redis
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=on-failure
|
||||||
|
TimeoutStartSec=900
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/librenms/librenms:latest
|
||||||
|
ContainerName=librenms-syslogng
|
||||||
|
AutoUpdate=
|
||||||
|
|
||||||
|
Network=
|
||||||
|
HostName=librenms-syslogng
|
||||||
|
PublishPort=514:514/tcp
|
||||||
|
PublishPort=514:514/udp
|
||||||
|
|
||||||
|
AddCapability=NET_ADMIN
|
||||||
|
AddCapability=NET_RAW
|
||||||
|
|
||||||
|
Volume=librenms-data:/data
|
||||||
|
|
||||||
|
EnvironmentFile=librenms.env
|
||||||
|
EnvironmentFile=db.env
|
||||||
|
EnvironmentFile=tz.env
|
||||||
|
|
||||||
|
Environment=SIDECAR_SYSLOGNG=1
|
||||||
|
|
||||||
|
Secret=librenms-db-pw,type=env,target=DB_PASSWORD
|
1
quadlets/librenms/tz.env
Normal file
1
quadlets/librenms/tz.env
Normal file
|
@ -0,0 +1 @@
|
||||||
|
TZ=Etc/UTC
|
Loading…
Add table
Reference in a new issue