This repository contains the Dockerfiles and build configurations for creating official Docker images for rsyslog. Our goal is to provide robust, flexible, and easy-to-use containerized rsyslog solutions for various logging needs.
See also the rsyslog project board for Docker tasks.
User-Focused Docker Images (Ubuntu Based)We provide a set of user-focused Docker images based on Ubuntu LTS, utilizing the Adiscon PPA for the latest stable rsyslog versions. These images are designed with a layered approach and offer runtime configurability.
Current Development Status & Feedback: Please note that this new set of user-facing containers is currently under active development and improvement. While they are intended to be stable and safe for use, rapid changes and enhancements are expected during this phase. We highly appreciate user feedback! If you encounter any issues or have suggestions, please open an issue on our GitHub repository: https://github.com/rsyslog/rsyslog-docker/issues.
Naming Convention & TaggingOur user-focused images follow this naming and tagging scheme:
rsyslog/rsyslog:<version>
rsyslog/rsyslog:2025-04
:latest
tag for rsyslog/rsyslog
will point to the most recent build of this standard image.rsyslog/rsyslog-<function>:<version>
rsyslog/rsyslog-minimal:2025-04
rsyslog/rsyslog-collector:2025-04
rsyslog/rsyslog-minimal
) will also have its own :latest
tag pointing to its most recent build.The <version>
tag corresponds to the rsyslog version, which follows a YYYY-MM
scheme and is released bi-monthly (e.g., "2025-04" denotes the rsyslog version released in April 2025).
rsyslog/rsyslog:<version>
(Standard Image)
minimal
image.imhttp
for health checks/metrics, omhttp
). This image is intended as the default, general-purpose choice for most users.rsyslog/rsyslog-minimal:<version>
(Minimal Image)
rsyslog/rsyslog-collector:<version>
(Collector Image)
standard
image.rsyslog-elasticsearch
, rsyslog-omkafka
, rsyslog-relp
, and common input modules (TCP, UDP, RELP).rsyslog/rsyslog-dockerlogs:<version>
(Docker Logs Image)
standard
image.rsyslog-imdocker
and configurations tailored for collecting logs from the Docker daemon and containers.rsyslog/rsyslog-debug:<version>
(Debug Image - Planned)
standard
image.(Note: Specific modules included in standard
, collector
, and other variants might evolve. Refer to the individual Dockerfiles for the most up-to-date package lists.)
Many features and modules within these images (especially standard
and above) can be enabled or disabled at runtime using environment variables in conjunction with rsyslog's config.enable=\
cat $ENVVAR`` directive in the rsyslog configuration. This allows for flexible deployments without needing a custom image for every minor configuration change.
The Makefile
in the /rsyslog path of this repository is used to build these Docker images.
make standard make minimal make collector make dockerlogs
make VERSION=your-custom-version-tag allBy default, it uses the version specified in the
Makefile
./dev_env
- This directory contains Docker images used as build environments for rsyslog Continuous Integration (CI) testing. They contain every dependency required for building and testing rsyslog and are consequently several gigabytes in size. These images are meant for rsyslog contributors and developers, not for general public use as runtime containers.The following sections describe previous efforts and image bases that are no longer maintained or produced. They are kept for historical reference.
Discontinued Appliance Experiment/appliance
- This directory represents an early experiment at creating an all-in-one rsyslog logging appliance. This approach did not align with current containerization best practices and was discontinued. The images are outdated and should not be used./base
directory. These are no longer maintained. Development now focuses exclusively on Ubuntu-based images, which integrate best with our daily stable package builds./base/centos7
. Like the Alpine files, these are no longer maintained but remain for reference.The following notes describe the original Alpine Linux based build process. These images are no longer built or supported.
We initially intended to use Alpine Linux for its small size and security profile. However, Alpine often missed components required by rsyslog, necessitating that we build and maintain custom packages. This became an ongoing effort as rsyslog versions advanced.
For those interested, the old custom packaging repository is still available at: https://github.com/rgerhards/alpine-rsyslog-extras.
Package Build Environment (Historical Alpine): We used a modified version of docker-alpine-abuild
for building custom Alpine packages: https://github.com/rgerhards/docker-alpine-abuild/tree/master-rger This was based on andyshinn/docker-alpine-abuild
with rsyslog-specific tweaks, including our own unofficial APK repository for newer dependencies.
Bootstrap (Historical Alpine): (Note: "usr" below refers to a user-specific prefix used during the old build process.) The process to bootstrap the Alpine package building from scratch involved:
usr/docker-alpine-abuild
image, initially without our custom repository.autotools-archive
package via usr/alpine-linux-extras
.usr/docker-alpine-abuild
image, this time with the custom repository enabled to use the newly built dependencies.usr/alpine-linux-extras
, with rsyslog generally being built last. This often required multiple uploads to the custom repository as dependencies were met.Remember to periodically update your Docker images to include the latest (security) updates from the base OS and rsyslog itself! Always prefer using specific version tags for production deployments rather than :latest
to ensure stability.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4