diff --git a/Compose/librenms/.env b/Compose/librenms/.env new file mode 100644 index 0000000..a65edf6 --- /dev/null +++ b/Compose/librenms/.env @@ -0,0 +1,7 @@ +TZ=Europe/Paris +PUID=1000 +PGID=1000 + +MYSQL_DATABASE=librenms +MYSQL_USER=librenms +MYSQL_PASSWORD=libenms \ No newline at end of file diff --git a/Compose/librenms/compose.yml b/Compose/librenms/compose.yml new file mode 100644 index 0000000..6a04fe3 --- /dev/null +++ b/Compose/librenms/compose.yml @@ -0,0 +1,179 @@ +name: librenms + +services: + libre_db: + image: mariadb:10 + container_name: librenms_db + command: + - "mysqld" + - "--innodb-file-per-table=1" + - "--lower-case-table-names=0" + - "--character-set-server=utf8mb4" + - "--collation-server=utf8mb4_unicode_ci" + volumes: + #- "./db:/var/lib/mysql" + - libre_db:/data/db + environment: + - "TZ=${TZ}" + - "MARIADB_RANDOM_ROOT_PASSWORD=yes" + - "MYSQL_DATABASE=${MYSQL_DATABASE}" + - "MYSQL_USER=${MYSQL_USER}" + - "MYSQL_PASSWORD=${MYSQL_PASSWORD}" + restart: always + + libre_redis: + image: redis:7.2-alpine + container_name: librenms_redis + environment: + - "TZ=${TZ}" + restart: always + + libre_msmtpd: + image: crazymax/msmtpd:latest + container_name: librenms_msmtpd + env_file: + - "./msmtpd.env" + restart: always + + librenms: + image: librenms/librenms:latest + container_name: librenms + hostname: librenms + cap_add: + - NET_ADMIN + - NET_RAW + ports: + - target: 8000 + published: 8000 + protocol: tcp + depends_on: + - libre_db + - libre_redis + - libre_msmtpd + volumes: + # - "./librenms:/data" + - librenms:/data + env_file: + - "./librenms.env" + environment: + - "TZ=${TZ}" + - "PUID=${PUID}" + - "PGID=${PGID}" + - "DB_HOST=libre_db" + - "DB_NAME=${MYSQL_DATABASE}" + - "DB_USER=${MYSQL_USER}" + - "DB_PASSWORD=${MYSQL_PASSWORD}" + - "DB_TIMEOUT=60" + restart: always + + dispatcher: + image: librenms/librenms:latest + container_name: librenms_dispatcher + hostname: librenms-dispatcher + cap_add: + - NET_ADMIN + - NET_RAW + depends_on: + - librenms + - libre_redis + volumes: + # - "./librenms:/data" + - librenms:/data + env_file: + - "./librenms.env" + environment: + - "TZ=${TZ}" + - "PUID=${PUID}" + - "PGID=${PGID}" + - "DB_HOST=db" + - "DB_NAME=${MYSQL_DATABASE}" + - "DB_USER=${MYSQL_USER}" + - "DB_PASSWORD=${MYSQL_PASSWORD}" + - "DB_TIMEOUT=60" + - "DISPATCHER_NODE_ID=dispatcher1" + - "SIDECAR_DISPATCHER=1" + restart: always + + syslogng: + image: librenms/librenms:latest + container_name: librenms_syslogng + hostname: librenms-syslogng + cap_add: + - NET_ADMIN + - NET_RAW + depends_on: + - librenms + - libre_redis + ports: + - target: 514 + published: 514 + protocol: tcp + - target: 514 + published: 514 + protocol: udp + volumes: + # - "./librenms:/data" + - librenms:/data + env_file: + - "./librenms.env" + environment: + - "TZ=${TZ}" + - "PUID=${PUID}" + - "PGID=${PGID}" + - "DB_HOST=libre_db" + - "DB_NAME=${MYSQL_DATABASE}" + - "DB_USER=${MYSQL_USER}" + - "DB_PASSWORD=${MYSQL_PASSWORD}" + - "DB_TIMEOUT=60" + - "SIDECAR_SYSLOGNG=1" + restart: always + + snmptrapd: + image: librenms/librenms:latest + container_name: librenms_snmptrapd + hostname: librenms-snmptrapd + cap_add: + - NET_ADMIN + - NET_RAW + depends_on: + - librenms + - libre_redis + ports: + - target: 162 + published: 162 + protocol: tcp + - target: 162 + published: 162 + protocol: udp + volumes: + # - "./librenms:/data" + - librenms:/data + env_file: + - "./librenms.env" + environment: + - "TZ=${TZ}" + - "PUID=${PUID}" + - "PGID=${PGID}" + - "DB_HOST=libre_db" + - "DB_NAME=${MYSQL_DATABASE}" + - "DB_USER=${MYSQL_USER}" + - "DB_PASSWORD=${MYSQL_PASSWORD}" + - "DB_TIMEOUT=60" + - "SIDECAR_SNMPTRAPD=1" + restart: always + + + libre_db: + driver: local + driver_opts: + type: none + o: bind + device: /DockerVol/librenms/libre_db + + librenms: + driver: local + driver_opts: + type: none + o: bind + device: /DockerVol/librenms/data + \ No newline at end of file diff --git a/Compose/librenms/librenms.env b/Compose/librenms/librenms.env new file mode 100644 index 0000000..a1d0492 --- /dev/null +++ b/Compose/librenms/librenms.env @@ -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=librenmsdocker + +LIBRENMS_WEATHERMAP=false +LIBRENMS_WEATHERMAP_SCHEDULE=*/5 * * * * diff --git a/Compose/librenms/msmtpd.env b/Compose/librenms/msmtpd.env new file mode 100644 index 0000000..f303b76 --- /dev/null +++ b/Compose/librenms/msmtpd.env @@ -0,0 +1,10 @@ +# https://github.com/crazy-max/docker-msmtpd +SMTP_HOST=mail.netgrimoire.com +SMTP_PORT=587 +SMTP_TLS=on +SMTP_STARTTLS=on +SMTP_TLS_CHECKCERT=on +SMTP_AUTH=on +SMTP_USER=traveler@netgrimoire.com +SMTP_PASSWORD=F@lcon13 +SMTP_FROM=network@netgrimoire.com