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