Official Graylog Docker image
Graylog Docker Image
[][hub] [
][hub]
[hub]: https://hub.docker.com/r/graylog/graylog/
The latest stable version of Graylog is 7.1.5.
What is Graylog?
Graylog is a centralized logging solution that enables aggregating and searching through logs. It provides a powerful query language, a processing pipeline for data transformation, alerting abilities, and much more. It is fully extensible through a REST API. Add-ons can be downloaded from the Graylog Marketplace.
Image Details
There are images for the linux/amd64 and linux/arm64 platforms available. All images are based on the latest Eclipse Temurin image (JRE + Ubuntu LTS variant) available at build time.
graylog/graylog
This is the open source Graylog image. It contains Graylog as well as the Integrations plugin.
| Java Version | Platform | Tags | |---|---|---| | OpenJDK 21 | linux/amd64, linux/arm64 | 7.1, 7.1.5, 7.1.5-1 |
Note: There is no 'latest' tag. You'll need to specify which version you want.
graylog/graylog-enterprise
This is the Graylog Enterprise image. It contains Graylog, the Graylog Enterprise plugin, the Integrations plugin, and the Enterprise Integrations plugin.
| Java Version | Platform | Tags | |---|---|---| | OpenJDK 21 | linux/amd64, linux/arm64 | 7.1, 7.1.5, 7.1.5-1 |
graylog/graylog-forwarder
This image runs the Graylog Forwarder. Documentation on the Forwarder can be found here.
The latest stable version is 7.5, with support for Java 21 on platform linux/amd64 and linux/arm64.
| Java Version | Platform | Tags | |---|---|---| | OpenJDK 21 | linux/amd64, linux/arm64 | 7.5, forwarder-7.5-1 |
Architecture
Take a look at the minimal Graylog architecture to get the big picture of a Graylog setup. In essence, Graylog needs to talk to MongoDB to store configuration data as well as Elasticsearch to store the actual log data.
Configuration
Please refer to the Graylog Docker documentation for a comprehensive overview and detailed description of the Graylog Docker image.
If you want to quickly spin up an instance for testing, you can use our Docker Compose template.
Notably, this image requires that two important configuration options be set (although in practice you will likely need to set more):
passwordsecret(environment variableGRAYLOGPASSWORD_SECRET)
pwgen -N 1 -s 96 rootpasswordsha2(environment variableGRAYLOGROOTPASSWORD_SHA2)
admin. This value is customizable via configuration option rootusername (environment variable GRAYLOGROOT_USERNAME). * In general, these credentials will only be needed to initially set up the system or reconfigure the system in the event of an authentication backend failure. * This password cannot be changed using the API or via the Web interface. * May be generated with something like: echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Every Graylog configuration option can be set via environment variable. To get the environment variable name for a given configuration option, simply prefix the option name with GRAYLOG and put it all in upper case. Another option is to store the configuration file outside of the container and edit it directly.
This image includes the wait-for-it script, which allows you to have Docker wait for Elasticsearch to start up before starting Graylog. For example, if you are using Docker Compose you could override the entrypoint for Graylog like this:
entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
Documentation
Documentation for Graylog is hosted here. Please read through the docs and familiarize yourself with the functionality before opening an issue on GitHub.
License
Graylog itself is licensed under the Server Side Public License (SSPL), see license information.
This Docker image is licensed under the Apache 2.0 license, see LICENSE.