Skip to content

7.0 fails to generate config files for graylog container #99

@bglk21

Description

@bglk21

So I'm running a docker swarm with 3 nodes, using microceph for keep data available on all nodes.
Now I wanted to try and set up graylog 7.0 with the datanode container, but I keep runnning into the issue were the graylog container fails to generate any files in my bind mounted directories. It does however create directories. (config, contentpacks, journal, log, plugin).
I've found you have to set the permissions to user/group permissions to 1100:1100 with the permission map of 755, but despite this there are no files created. I've also tried to set root as the owner, but then I get an error saying it failed to create the directories, which makes sense.

Both the mongodb and datanodes do seem to work fine.

When looking at the graylog container logs I get:

2025-11-30T20:06:21.134596072Z main ERROR Reconfiguration failed: No configuration found for '73d4cc9e' at 'null' in 'null'
2025-11-30T20:06:21.255620465Z main INFO Added converter factory com.github.joschi.jadconfig.guava.GuavaConverterFactory@5a755cc1
2025-11-30T20:06:21.255950443Z main INFO Added converter factory com.github.joschi.jadconfig.jodatime.JodaTimeConverterFactory@49ff7d8c
2025-11-30T20:06:21.256235833Z main ERROR Couldn't load configuration: Properties file /usr/share/graylog/data/config/graylog.conf doesn't exist!

From what I understand graylog.conf should be auto generated by the envs I've set in my compose file.

So am I doing something wrong or is this a bug?

This is my docker compose:

networks:
  docker-proxy:
    name: docker-proxy
    external: true
  graylog_network:
    name: graylog_network

services:
  graylog-db:
    image: mongo:7.0
    volumes:
      - /mnt/cephfs/docker/graylog/db-data:/data/db
      - /mnt/cephfs/docker/graylog/db-config:/data/configdb
    networks:
      - graylog_network

  datanode:
    image: graylog/graylog-datanode:7.0.1
    hostname: "datanode"
    environment:
      # GRAYLOG_DATANODE_PASSWORD_SECRET and GRAYLOG_PASSWORD_SECRET MUST be the same value
      - GRAYLOG_DATANODE_PASSWORD_SECRET=${GRAYLOG_PASSWORD_SECRET}
      - GRAYLOG_DATANODE_MONGODB_URI=mongodb://graylog-db:27017/graylog
    ulimits:
      memlock:
        hard: -1
        soft: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - /mnt/cephfs/docker/graylog/datanode:/var/lib/graylog-datanode
      - /etc/localtime:/etc/localtime:ro
    networks:
      - graylog_network

  graylog:
    hostname: "server"
    image: graylog/graylog:7.0.1
    entrypoint: "/usr/bin/tini --  /docker-entrypoint.sh"
    depends_on:
      - graylog-db
      - datanode
    environment:
      - GRAYLOG_NODE_ID_FILE="/usr/share/graylog/data/data/node-id"
      - GRAYLOG_PASSWORD_SECRET=${GRAYLOG_PASSWORD_SECRET}
      - GRAYLOG_ROOT_PASSWORD_SHA2="${GRAYLOG_ROOT_PASSWORD_SHA2}"
      - GRAYLOG_HTTP_BIND_ADDRESS=0.0.0.0:9000
      - GRAYLOG_HTTP_EXTERNAL_URI=http://${WebGUIAddress}:9000/
      - GRAYLOG_MONGODB_URI=mongodb://graylog-db:27017/graylog
      - GRAYLOG_TZ=${TZ}
      - GRAYLOG_TIMEZONE=${TZ}
      - GRAYLOG_ROOT_TIMEZONE=${TZ}
      ### EMAIL ###
      - GRAYLOG_TRANSPORT_EMAIL_PROTOCOL=smtp
      - GRAYLOG_TRANSPORT_EMAIL_WEB_INTERFACE_URL=https://${WebGUIAddress}
      - GRAYLOG_TRANSPORT_EMAIL_HOSTNAME=${EmailServer}
      - GRAYLOG_TRANSPORT_EMAIL_ENABLED=true
      - GRAYLOG_TRANSPORT_EMAIL_PORT=465
      - GRAYLOG_TRANSPORT_EMAIL_USE_AUTH=true
      - GRAYLOG_TRANSPORT_EMAIL_AUTH_USERNAME=${GRAYLOG_EMAIL_USERNAME}
      - GRAYLOG_TRANSPORT_EMAIL_AUTH_PASSWORD=${GRAYLOG_EMAIL_PASSWORD}
      - GRAYLOG_TRANSPORT_EMAIL_USE_TLS=false
      - GRAYLOG_TRANSPORT_EMAIL_USE_SSL=true
      - GRAYLOG_TRANSPORT_FROM_EMAIL=${GRAYLOG_EMAIL_USERNAME}
      - GRAYLOG_TRANSPORT_SUBJECT_PREFIX=${GRAYLOG_TRANSPORT_SUBJECT_PREFIX}
    volumes:
      - /mnt/cephfs/docker/graylog/data:/usr/share/graylog/data:rw
      - /etc/localtime:/etc/localtime:ro
    networks:
      - docker-proxy
      - graylog_network
    deploy:
      replicas: 1
      labels:
      - traefik.enable=true # enable traefik
      - traefik.http.routers.graylog.rule=Host(`${WebGUIAddress}`)
      - traefik.http.routers.graylog.entrypoints=websecure # Define entry point
      - traefik.http.services.graylog.loadbalancer.server.port=9000
    ports:
      - 514:514/tcp   # Syslog 514 TCP
      - 514:514/udp   # Syslog 514 UDP

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions