Skip to content

Docker container for poller only fails to start #536

@scnlewisk

Description

@scnlewisk

Support guidelines

I've found a bug and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

Librenms container running in poller only mode fails to start.
Container Command: /opt/librenms/librenms-service.py

Expected behaviour

Running container in poller only mode does not start.

Actual behaviour

Container attempts to start and then crashes with the following error message:
MainThread(CRITICAL):Error in config fetching process: 1
MainThread(CRITICAL):ERROR: Could not execute command [['/usr/bin/env', 'php', '/opt/librenms/lnms', 'config:get', '--dump']]: Expecting value: line 3 column 3 (char 41)
'NoneType' object has no attribute 'get'

Steps to reproduce

Running latest container image version using the attached config.
The poller will use rrdcached to get the devices to poll but I have have checked and this is not required to reproduce the error.
Just starting the docker container with the attached compose file and referencing the attached config file should be enough to reproduce the error.
This same config is working fine on docker image version 25.9.1

poller-config.php

Docker info

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.24+dfsg1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 1.6.20~ds1-1+deb12u1
 runc version: 1.1.5+ds1-1+deb12u1
 init version:
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 6.1.0-40-amd64
 Operating System: Debian GNU/Linux 12 (bookworm)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 11.68GiB
 Name: AUEQS-NMS02
 ID: OO7D:E22X:LCLX:6L6M:6ZJA:GDK2:UCYQ:X6NF:S5UQ:OMX7:TMZ5:JVEL
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Docker Compose config

version: "3.1"

services:
  librenms_poller:
    image: librenms/librenms:latest
    container_name: librenms_poller
    environment:
      - "TZ=${TZ}"
      - "PUID=${PUID}"
      - "PGID=${PGID}"
      - "DB_HOST=10.10.10.10"
      - "DB_NAME=${MYSQL_DATABASE}"
      - "DB_USER=${MYSQL_USER}"
      - "DB_PASSWORD=${MYSQL_PASSWORD}"
      - "REDIS_HOST=10.10.10.10"
      - "LOG_LEVEL=LOG_DEBUG"
      - "RRD_CACHED_HOST=10.10.10.10"
      - "RRD_CACHED_PORT=42217"
    volumes:
      - "/opt/librenms/data:/data"
      - "/opt/librenms/poller-config.php:/opt/librenms/config.php"
    command: /opt/librenms/librenms-service.py
    restart: unless-stopped
    logging:
      options:
        max-file: "3"   # number of files or file count
        max-size: "10m" # file size

Logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-fix-logs.sh: executing...
[cont-init.d] 00-fix-logs.sh: exited 0.
[cont-init.d] 01-fix-uidgid.sh: executing...
[cont-init.d] 01-fix-uidgid.sh: exited 0.
[cont-init.d] 02-fix-perms.sh: executing...
Fixing perms...
[cont-init.d] 02-fix-perms.sh: exited 0.
[cont-init.d] 03-config.sh: executing...
Setting timezone to Australia/Melbourne...
Setting PHP-FPM configuration...
Setting PHP INI configuration...
Setting OpCache configuration...
Setting Nginx configuration...
Updating SNMP community...
Initializing LibreNMS files / folders...
Setting LibreNMS configuration...
Checking LibreNMS plugins...
Fixing perms...
Checking additional Monitoring plugins...
Checking alert templates...
[cont-init.d] 03-config.sh: exited 0.
[cont-init.d] 04-svc-main.sh: executing...
Waiting 60s for database to be ready...
Database ready!
Updating database schema...

   INFO  Nothing to migrate.


   INFO  Seeding database.

  Database\Seeders\DefaultAlertTemplateSeeder ........................ RUNNING
  Database\Seeders\DefaultAlertTemplateSeeder ...................... 2 ms DONE

  Database\Seeders\ConfigSeeder ...................................... RUNNING
  Database\Seeders\ConfigSeeder .................................. 135 ms DONE

  Database\Seeders\RolesSeeder ....................................... RUNNING
  Database\Seeders\RolesSeeder ..................................... 2 ms DONE

Clear cache

   INFO  Application cache cleared successfully.


   INFO  Configuration cached successfully.

[cont-init.d] 04-svc-main.sh: exited 0.
[cont-init.d] 05-svc-dispatcher.sh: executing...
[cont-init.d] 05-svc-dispatcher.sh: exited 0.
[cont-init.d] 06-svc-syslogng.sh: executing...
[cont-init.d] 06-svc-syslogng.sh: exited 0.
[cont-init.d] 07-svc-cron.sh: executing...
Creating LibreNMS daily.sh cron task with the following period fields: 15 0 * * *
Creating LibreNMS cron artisan schedule:run
Fixing crontabs permissions...
[cont-init.d] 07-svc-cron.sh: exited 0.
[cont-init.d] 08-svc-snmptrapd.sh: executing...
[cont-init.d] 08-svc-snmptrapd.sh: exited 0.
[cont-init.d] ~-socklog: executing...
[cont-init.d] ~-socklog: exited 0.
[cont-init.d] done.
[services.d] starting services
2025/12/23 13:36:06 [notice] 619#619: using the "epoll" event method
2025/12/23 13:36:06 [notice] 619#619: nginx/1.28.0
2025/12/23 13:36:06 [notice] 619#619: OS: Linux 6.1.0-40-amd64
2025/12/23 13:36:06 [notice] 619#619: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/12/23 13:36:06 [notice] 619#619: start worker processes
2025/12/23 13:36:06 [notice] 619#619: start worker process 636
2025/12/23 13:36:06 [notice] 619#619: start worker process 637
2025/12/23 13:36:06 [notice] 619#619: start worker process 638
2025/12/23 13:36:06 [notice] 619#619: start worker process 639
crond: crond (busybox 1.37.0) started, log level 8
[services.d] done.
[23-Dec-2025 13:36:06] NOTICE: fpm is running, pid 620
[23-Dec-2025 13:36:06] NOTICE: ready to handle connections
MainThread(CRITICAL):Error in config fetching process: 1
MainThread(CRITICAL):ERROR: Could not execute command [['/usr/bin/env', 'php', '/opt/librenms/lnms', 'config:get', '--dump']]: Expecting value: line 3 column 3 (char 41)
'NoneType' object has no attribute 'get'
[cmd] /opt/librenms/librenms-service.py exited 2
[23-Dec-2025 13:36:07] NOTICE: Terminating ...
2025/12/23 13:36:07 [notice] 619#619: signal 15 (SIGTERM) received from 611, exiting
2025/12/23 13:36:07 [notice] 636#636: exiting
2025/12/23 13:36:07 [notice] 637#637: exiting
2025/12/23 13:36:07 [notice] 639#639: exiting
2025/12/23 13:36:07 [notice] 638#638: exiting
2025/12/23 13:36:07 [notice] 637#637: exit
2025/12/23 13:36:07 [notice] 636#636: exit
[23-Dec-2025 13:36:07] NOTICE: exiting, bye-bye!
2025/12/23 13:36:07 [notice] 638#638: exit
2025/12/23 13:36:07 [notice] 639#639: exit
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
s6-svwait: fatal: supervisor died
2025/12/23 13:36:07 [notice] 619#619: signal 14 (SIGALRM) received
2025/12/23 13:36:07 [notice] 619#619: signal 17 (SIGCHLD) received from 638
2025/12/23 13:36:07 [notice] 619#619: worker process 638 exited with code 0
2025/12/23 13:36:07 [notice] 619#619: worker process 639 exited with code 0
2025/12/23 13:36:07 [notice] 619#619: signal 29 (SIGIO) received
2025/12/23 13:36:07 [notice] 619#619: signal 17 (SIGCHLD) received from 637
2025/12/23 13:36:07 [notice] 619#619: worker process 637 exited with code 0
2025/12/23 13:36:07 [notice] 619#619: signal 29 (SIGIO) received
2025/12/23 13:36:07 [notice] 619#619: signal 17 (SIGCHLD) received from 636
2025/12/23 13:36:07 [notice] 619#619: worker process 636 exited with code 0
2025/12/23 13:36:07 [notice] 619#619: exit
[s6-finish] sending all processes the TERM signal.

Additional info

I have rolled back to image version 25.9.1 and this is working.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions