Skip to content

crazy-max/docker-rrdcached

Repository files navigation

Latest Version Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

About

RRDcached Docker image.

Tip

Want to be notified of new releases? Check out 🔔 Diun (Docker Image Update Notifier) project!


Features

  • Run as non-root user
  • Multi-platform image

Build locally

git clone https://github.com/crazy-max/docker-rrdcached.git
cd docker-rrdcached

# Build image and output to docker (default)
docker buildx bake

# Build multi-platform image
docker buildx bake image-all

Image

Registry Image
Docker Hub crazymax/rrdcached
GitHub Container Registry ghcr.io/crazy-max/rrdcached

Following platforms for this image are available:

$ docker run --rm mplatform/mquery crazymax/rrdcached:latest
Image: crazymax/rrdcached:latest
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x

Environment variables

  • TZ : Timezone assigned to the container (default UTC)
  • PUID : Daemon user id (default 1000)
  • PGID : Daemon group id (default 1000)
  • LOG_LEVEL : Log level, called with -V (default LOG_INFO)
  • WRITE_TIMEOUT : Data is written to disk every X seconds, called with -w (default 300)
  • WRITE_JITTER : Delay writing of each RRD for a random number of seconds in the range, called with -z
  • WRITE_THREADS : Number of threads used for writing RRD files, called with -t (default 4)
  • FLUSH_DEAD_DATA_INTERVAL : Every X seconds the entire cache is searched for old values which are written to disk, called with -f (default 3600)

More info : https://github.com/oetiker/rrdtool-1.x/blob/master/doc/rrdcached.pod

Volumes

  • /data/db : Contains rrd database
  • /data/journal : Container rrd journal files

⚠️ Note that the volumes should be owned by the user/group with the specified PUID and PGID. If you don't give the volume correct permissions, the container may not start.

Ports

  • 42217 : RRDcached port

Usage

Docker Compose

Docker compose is the recommended way to run this image. You can use the following compose template, then run the container:

docker compose up -d
docker compose logs -f

Command line

You can also use the following minimal command:

$ docker run -d -p 42217:42217 --name rrdcached \
  -e TZ="Europe/Paris" \
  -v $(pwd)/data/db:/data/db \
  -v $(pwd)/data/journal:/data/journal \
  crazymax/rrdcached

Upgrade

Recreate the container whenever I push an update:

docker compose pull
docker compose up -d

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! 🙏

License

MIT. See LICENSE for more details.