No description
  • Shell 73.5%
  • Dockerfile 21.9%
  • Makefile 3.7%
  • Go Template 0.9%
Find a file
2026-06-23 11:44:02 +03:00
charts/redis-cluster Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
compat Refresh NiceOS Redis Cluster 8.8.0-niceos13-r1 2026-06-23 11:43:46 +03:00
docs/releases Update redis-cluster image metadata for 8.8.0-niceos13-r1 2026-06-23 11:44:02 +03:00
manifests Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
marketplace/yandex Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
releases/8.8.0-niceos13-r1 Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
rootfs Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
tests Fix Redis Cluster compose smoke test runtime 2026-06-23 10:25:11 +03:00
.dockerignore Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
.gitignore Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
.niceos-source.yaml Update redis-cluster image metadata for 8.8.0-niceos13-r1 2026-06-23 11:44:02 +03:00
catalog.fragment.yaml Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
CHANGELOG.md Update redis-cluster image metadata for 8.8.0-niceos13-r1 2026-06-23 11:44:02 +03:00
COMPATIBILITY.md Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
docker-compose.yml Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
Dockerfile Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
LICENSE Add Redis Cluster license notice and release docs 2026-06-23 09:56:41 +03:00
Makefile Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
MIGRATION.md Initial NiceOS Redis Cluster application container 2026-06-23 09:53:08 +03:00
NOTICE Add Redis Cluster license notice and release docs 2026-06-23 09:56:41 +03:00
README.md Update redis-cluster image metadata for 8.8.0-niceos13-r1 2026-06-23 11:44:02 +03:00
RELEASE.yaml Update redis-cluster image metadata for 8.8.0-niceos13-r1 2026-06-23 11:44:02 +03:00

NiceOS Redis Cluster Container

NiceOS.Container based Redis Cluster image with a Bitnami-compatible runtime contract for migration from historical bitnami/redis-cluster workflows and charts.

docker.io/niceos/redis-cluster is built on the NiceOS.Container RPM/glibc stream. It preserves the runtime layout expected by Bitnami-style Redis Cluster images while replacing Debian/minideb/apt/Stacksmith internals with NiceOS RPM packages, a reproducible NiceOS root filesystem, and shared NiceOS Bitnami compatibility scripts from niceos-bitnami-compat-scripts.

This image is not an official Bitnami, Broadcom, VMware, or Redis image and is not endorsed by those projects or companies. It is a NiceSOFT/NiceOS compatibility target intended to help users migrate existing automation, Helm charts, CI jobs, and container workflows that expect the historical Bitnami runtime contract.

TL;DR

Development-only single node check:

docker run --rm \
  -e ALLOW_EMPTY_PASSWORD=yes \
  -e REDIS_NODES=127.0.0.1 \
  -p 6379:6379 \
  docker.io/niceos/redis-cluster:8.8.0-niceos13-r1

Six-node local cluster:

docker compose up -d
./tests/cluster-compose-smoke.sh docker.io/niceos/redis-cluster:8.8.0-niceos13-r1

Compatibility goal

The goal is not to copy Bitnami internals. The goal is to preserve the runtime contract existing deployments commonly depend on.

Contract area NiceOS status
/opt/bitnami root preserved
/opt/bitnami/redis preserved
/opt/bitnami/redis/bin/redis-server preserved as compatibility command path
/opt/bitnami/redis/bin/redis-cli preserved as compatibility command path
/opt/bitnami/redis/etc preserved
/opt/bitnami/redis/etc.default preserved
/opt/bitnami/redis/mounted-etc preserved
/opt/bitnami/redis/tmp preserved
/opt/bitnami/scripts/redis-cluster/entrypoint.sh preserved
/opt/bitnami/scripts/redis-cluster/setup.sh preserved
/opt/bitnami/scripts/redis-cluster/run.sh preserved
/bitnami/redis/data persistence path preserved
default user 1001
Redis port 6379
Redis cluster bus port 16379 for default Redis port
REDIS_* environment variables preserved where relevant
*_FILE handling preserved for Redis Cluster variables
Debian/minideb/apt/Stacksmith replaced by NiceOS/RPM
final image package manager removed

Important NiceOS packaging rule

Do not vendor the common Bitnami shell libraries into this repository. The following files are provided by the RPM package niceos-bitnami-compat-scripts:

/opt/bitnami/scripts/libbitnami.sh
/opt/bitnami/scripts/libfile.sh
/opt/bitnami/scripts/libfs.sh
/opt/bitnami/scripts/libhook.sh
/opt/bitnami/scripts/liblog.sh
/opt/bitnami/scripts/libnet.sh
/opt/bitnami/scripts/libos.sh
/opt/bitnami/scripts/libpersistence.sh
/opt/bitnami/scripts/libservice.sh
/opt/bitnami/scripts/libvalidations.sh
/opt/bitnami/scripts/libversion.sh
/opt/bitnami/scripts/libwebserver.sh

This app repository only carries Redis-specific compatibility logic:

/opt/bitnami/scripts/libredis.sh
/opt/bitnami/scripts/librediscluster.sh
/opt/bitnami/scripts/redis-cluster-env.sh
/opt/bitnami/scripts/redis-cluster/entrypoint.sh
/opt/bitnami/scripts/redis-cluster/setup.sh
/opt/bitnami/scripts/redis-cluster/run.sh
/opt/bitnami/scripts/redis-cluster/postunpack.sh

Image tags

Immutable tag:

docker.io/niceos/redis-cluster:8.8.0-niceos13-r1
ghcr.io/niceos-containers/redis-cluster:8.8.0-niceos13-r1

Version tag:

docker.io/niceos/redis-cluster:8.8.0
ghcr.io/niceos-containers/redis-cluster:8.8.0

Convenience channel:

docker.io/niceos/redis-cluster:latest
ghcr.io/niceos-containers/redis-cluster:latest

For production, prefer immutable tags or digest-pinned references.

Included software

Component Version/source
NiceOS.Container 13 RPM stream
Redis 8.8.0 from NiceOS redis RPM
NiceOS Bitnami compatibility libraries niceos-bitnami-compat-scripts RPM
nss_wrapper NiceOS RPM, exposed through /opt/bitnami/common/lib/libnss_wrapper.so
render-template NiceOS compatibility RPM when available
CA certificates/OpenSSL NiceOS RPMs

Environment variables

Variable Default Purpose
APP_VERSION 8.8.0 Redis version marker
IMAGE_REVISION 1 NiceOS image revision
BITNAMI_APP_NAME redis-cluster Bitnami-style app identifier
BITNAMI_ROOT_DIR /opt/bitnami Bitnami-style root
BITNAMI_VOLUME_DIR /bitnami Bitnami-style volume root
REDIS_DATA_DIR /bitnami/redis/data Redis persistence directory
REDIS_PORT_NUMBER 6379 Plain Redis port
REDIS_PASSWORD empty Password for default user
ALLOW_EMPTY_PASSWORD no Development-only passwordless mode
REDIS_NODES empty Required cluster node list
REDIS_CLUSTER_CREATOR no Create cluster from this node
REDIS_CLUSTER_REPLICAS 1 Replica count for cluster creation
REDIS_CLUSTER_DYNAMIC_IPS yes Update nodes.conf when pod/container IPs change
REDIS_CLUSTER_ANNOUNCE_HOSTNAME empty Cluster announced hostname
REDIS_CLUSTER_ANNOUNCE_IP empty Cluster announced IP when dynamic IPs are disabled
REDIS_CLUSTER_ANNOUNCE_PORT empty Cluster announced client port
REDIS_CLUSTER_ANNOUNCE_BUS_PORT empty Cluster announced bus port
REDIS_TLS_ENABLED no Enable Redis TLS
REDIS_TLS_PORT_NUMBER 6379 TLS Redis port
REDIS_TLS_CERT_FILE empty TLS certificate file
REDIS_TLS_KEY_FILE empty TLS key file
REDIS_TLS_CA_FILE empty TLS CA file
REDIS_ACLFILE empty ACL file path
REDIS_OVERRIDES_FILE /opt/bitnami/redis/mounted-etc/overrides.conf Optional extra config
NSS_WRAPPER_LIB /opt/bitnami/common/lib/libnss_wrapper.so arbitrary UID support

Most Redis variables also support *_FILE variants.

Build

make build

Equivalent explicit command:

podman build --format docker --no-cache \
  --build-arg NICEOS_VERSION=13 \
  --build-arg APP_VERSION=8.8.0 \
  --build-arg IMAGE_REVISION=1 \
  -t docker.io/niceos/redis-cluster:8.8.0-niceos13-r1 \
  -t docker.io/niceos/redis-cluster:8.8.0 \
  -t docker.io/niceos/redis-cluster:latest .

Test

make smoke
make compat
make cluster

Yandex Cloud Marketplace

For Yandex Marketplace, publish the image into the publisher's Yandex Container Registry and point the Marketplace Helm chart values to that registry. Keep public Docker Hub/GHCR tags for discovery, but the Marketplace product should use Yandex registry image references.

Example retag:

podman tag docker.io/niceos/redis-cluster:8.8.0-niceos13-r1 \
  cr.yandex/<registry-id>/nicesoft/redis-cluster/redis-cluster:8.8.0-niceos13-r1
podman push cr.yandex/<registry-id>/nicesoft/redis-cluster/redis-cluster:8.8.0-niceos13-r1

Registries

Docker Hub:

docker.io/niceos/redis-cluster:8.8.0-niceos13-r1
docker.io/niceos/redis-cluster:8.8.0
docker.io/niceos/redis-cluster:latest

GitHub Container Registry:

ghcr.io/niceos-containers/redis-cluster:8.8.0-niceos13-r1
ghcr.io/niceos-containers/redis-cluster:8.8.0
ghcr.io/niceos-containers/redis-cluster:latest

AWS ECR Public:

public.ecr.aws/t5j6z0j2/redis-cluster:8.8.0-niceos13-r1
public.ecr.aws/t5j6z0j2/redis-cluster:8.8.0
public.ecr.aws/t5j6z0j2/redis-cluster:latest

Yandex Container Registry:

cr.yandex/crpq1j7glriabglplk5c/nicesoft/redis-cluster/redis-cluster:8.8.0-niceos13-r1
cr.yandex/crpq1j7glriabglplk5c/nicesoft/redis-cluster/redis-cluster:8.8.0

Digests:

  • Docker Hub immutable digest: docker.io/niceos/redis-cluster@sha256:0c5eea4528889e2dca27d1e0d843fa745c44bc1a846f698320535869fba77cb3
  • GHCR immutable digest: ghcr.io/niceos-containers/redis-cluster@sha256:0c5eea4528889e2dca27d1e0d843fa745c44bc1a846f698320535869fba77cb3
  • AWS ECR Public immutable digest: public.ecr.aws/t5j6z0j2/redis-cluster@sha256:0c5eea4528889e2dca27d1e0d843fa745c44bc1a846f698320535869fba77cb3
  • Yandex Container Registry immutable digest: cr.yandex/crpq1j7glriabglplk5c/nicesoft/redis-cluster/redis-cluster@sha256:0c5eea4528889e2dca27d1e0d843fa745c44bc1a846f698320535869fba77cb3