zcube
bitnami-compat
Go

Unofficial tools to build Bitnami containers using open source to support Bitnami charts (Arm64 support)

Last updated Jun 23, 2026
180
Stars
21
Forks
1
Issues
0
Stars/day
Attention Score
34
Language breakdown
No language data available.
Files click to expand
README

Bitnami-Compat

Inactively Maintained Project-Stage Production Ready Update bitnami-dockers Build Chart Testing

What is Bitnami-Compat?

  • Build https://github.com/bitnami/containers locally ( without Bitnami's StackSmith binaries )

Goal

  • [x] Build https://github.com/bitnami/containers
* [x] Support Arm64. * [x] Comment StackSmith download scripts. * [x] Patch with component-based build script. * [x] Synchronize with Bitnami containers version. * [x] Build and deploy using Github Actions. * [x] Listing supported images.
  • [x] Support https://github.com/bitnami/charts
* [x] Support Arm64. * [x] Generate image patch values files. * [x] Listing supported charts. * [x] Helm chart testing using Github Actions. * [x] Goss * [x] Cypress * [ ] Ginko * [x] Helm chart test with multiple images. * [x] Bitnami Amd64 * [x] Bitnami-compat Amd64 * [x] Bitnami-compat Arm64 (Mac Mini M1) * [ ] Official image Amd64 * [ ] Official image Arm64

Not Goal

  • Support every images and charts on Bitnami's
* Can't afford the time and cost of development and maintenance.
  • Production ready or commercial support.
* This repository is just open source and maintained by very few people.

More detail

  • These images use Bitnami's scripts. Binaries refer to the official Docker or official distribution binaries of the software or Docker recipes for Docker.
* Bitnami-Compat

* Some example : https://gist.github.com/ZCube/7e3045b1f15b1c1223f58267fc738e57

Update bitnami-dockers schedule

  • day-of-month 1 in every 2nd month

Usage #1

  • I know I can't make the images in this repository trustworthy, and I know I can't fix it. This repository is just a personal repository.
  • If you want to use the images, It is recommended not to use the image directly, but to create Dockerfile.arm64 by following the instructions below and then verify and use it.
  • Create Dockerfile.arm64 for bitnami-dockers
1. install task https://taskfile.dev/installation/ 2. install golang https://go.dev/doc/install 3. clone
git clone --recursive https://github.com/ZCube/bitnami-compat
  cd bitnami-compat
  task generate
  or
  go run main.go generate --app=mongodb
4. verify Dockerfile.arm64. Official images or build scripts referenced for build are listed in the table below. 5. build & use. (docker buildx needed)
task build
  or (current platform only)
  go run main.go build --app=mongodb --tag ghcr.io/zcube/bitnami-compat/
  or (current platform only && push)
  go run main.go build --app=mongodb --tag ghcr.io/zcube/bitnami-compat/ --push
  or (docker buildx needed && push)
  go run main.go build --app=mongodb --tag ghcr.io/zcube/bitnami-compat/ --push --platforms=linux/amd64,linux/arm64

docker run --rm -ti ghcr.io/zcube/bitnami-compat/mongodb:6.0

  • PS. Rabbitmq and fluentd builds are too long. Depending on the machine, it is best to prepare for 1-2 hours.

Usage #2

  • TL;DR
from
image:
  registry: docker.io
  repository: bitnami/postgresql
  tag: 11.16.0-debian-11-r14
to
image:
  registry: ghcr.io
  repository: zcube/bitnami-compat/postgresql
  tag: 11.16.0-debian-11-r15
or
curl -LO https://raw.githubusercontent.com/ZCube/bitnami-compat/main/values/valuesbitnamicompat_postgresql.yaml
helm install db bitnami/postgresql -f valuesbitnamicompat_postgresql.yaml

Test

  • https://github.com/ZCube/bitnami-compat-test
  • legend
* O : test pass * X : test pass fail * Empty : not tested
  • note
* cypress v9 does not support arm64 so amd64 machine with ssh, docker needed to test. * arm64 test was done on mac mini m1
  • result
| App | Tests | bitnami (amd64) | bitnami-compat (amd64) | bitnami-compat (arm64) | official (amd64) | official (arm64) | official link | | :----- | :------ | :-------------: | :--------------------: | :--------------------: | :--------------: | :--------------: | :-----------: | | apache | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | apache | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | cert-manager | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | consul | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | consul | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | contour | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | discourse | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | discourse | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | elasticsearch | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | elasticsearch | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | etcd | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | external-dns | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | fluentd | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | gitea | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | gitea | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | kafka | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | keycloak | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | keycloak | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mariadb | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mariadb-galera | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mastodon | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mastodon | Cypress | :x: | :heavycheckmark: | :heavycheckmark: | | | | | memcached | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | minio | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | minio | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mongodb | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mongodb-sharded | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | mysql | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | nginx | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | nginx | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | postgresql | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | postgresql-ha | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | rabbitmq | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | rabbitmq | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | rabbitmq-cluster-operator | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | rabbitmq-cluster-operator | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | redis | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | redis-cluster | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | sealed-secrets | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | solr | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | solr | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | tomcat | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | tomcat | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | wordpress | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | wordpress | Cypress | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | | | zookeeper | Goss | :heavycheckmark: | :heavycheckmark: | :heavycheckmark: | | | |

Supported bitnami charts

* ✔️  apache
  • ✔️ cert-manager
  • ✔️ common
  • ✔️ consul
  • ✔️ contour
  • ✔️ contour-operator
  • ✔️ discourse
  • ✔️ elasticsearch
  • ✔️ etcd
  • ✔️ external-dns
  • ✔️ fluentd
  • ✔️ gitea
  • ✔️ kafka
  • ✔️ keycloak
  • ✔️ kibana
  • ✔️ kube-state-metrics
  • ✔️ kubernetes-event-exporter
  • ✔️ logstash
  • ✔️ mariadb
  • ✔️ mariadb-galera
  • ✔️ mastodon
  • ✔️ memcached
  • ✔️ minio
  • ✔️ mongodb
  • ✔️ mongodb-sharded
  • ✔️ mysql
  • ✔️ nginx
  • ✔️ node-exporter
  • ✔️ postgresql
  • ✔️ postgresql-ha
  • ✔️ rabbitmq
  • ✔️ rabbitmq-cluster-operator
  • ✔️ redis
  • ✔️ redis-cluster
  • ✔️ sealed-secrets
  • ✔️ solr
  • ✔️ thanos
  • ✔️ tomcat
  • ✔️ wordpress
  • ✔️ zookeeper
  • ❌ grafana
* ✔️ grafana * ❌ grafana-image-renderer * ✔️ bitnami-shell
  • ❌ grafana-loki
* ❌ grafana-loki * ✔️ nginx * ❌ promtail * ✔️ bitnami-shell * ✔️ memcached * ✔️ memcached * ✔️ memcached * ✔️ memcached
  • ❌ grafana-operator
* ❌ grafana-operator * ✔️ grafana
  • ❌ grafana-tempo
* ❌ grafana-tempo * ❌ grafana-tempo-query * ❌ grafana-tempo-vulture * ✔️ bitnami-shell
  • ❌ nginx-ingress-controller
* ❌ nginx-ingress-controller * ✔️ nginx
  • For wordpress-intel charts, try using wordpress-nginx instead of wordpress-intel images. (wordpress-intel = wordpress-nginx)

Binary References

|Package|Type|Reference|Base| |--|--|--|--| |acmesolver|DockerImage|https://quay.io/jetstack/cert-manager-acmesolver|bitnami/minideb| |cainjector|DockerImage|https://quay.io/jetstack/cert-manager-cainjector|bitnami/minideb| |cert-manager|DockerImage|https://quay.io/jetstack/cert-manager-controller|bitnami/minideb| |cert-manager-webhook|DockerImage|https://quay.io/jetstack/cert-manager-webhook|bitnami/minideb| |consul|DockerImage|https://hub.docker.com/_/consul|bitnami/minideb| |consul-exporter|Dockerfile|https://hub.docker.com/r/prom/consul-exporter|bitnami/minideb| |elasticsearch|Install|https://www.elastic.co/guide/en/elasticsearch/reference/current/targz.html|bitnami/minideb| |etcd|Dockerfile|https://gcr.io/etcd-development/etcd|bitnami/minideb| |fluentd|Dockerfile|https://github.com/fluent/fluentd-docker-image|bitnami/minideb| |jmx-exporter|Install|https://repo1.maven.org/maven2/io/prometheus/jmx|bitnami/minideb| |kafka|Install|https://downloads.apache.org/kafka|bitnami/minideb| |kubectl|Install|https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/|bitnami/minideb| |keycloak|Dockerfile|https://github.com/keycloak/keycloak-containers|bitnami/minideb| |mariadb|Dockerfile|https://github.com/MariaDB/mariadb-docker|bitnami/minideb| |mariadb-galera|Dockerfile|https://github.com/MariaDB/mariadb-docker|bitnami/minideb| |memcached|Dockerfile|https://github.com/docker-library/memcached|bitnami/minideb| |minio|DockerImage|https://hub.docker.com/r/minio/minio|bitnami/minideb| |minio-client|DockerImage|https://hub.docker.com/r/minio/mc|bitnami/minideb| |mongodb|Dockerfile|https://github.com/docker-library/mongo|bitnami/minideb| |mysql|DockerImage|https://hub.docker.com/r/mysql|mysql/mysql-server| |mysqld-exporter|Dockerfile|https://hub.docker.com/r/prom/mysqld-exporter|bitnami/minideb| |nginx|Dockerfile|https://github.com/nginxinc/docker-nginx|bitnami/minideb| |pgpool|Dockerfile|https://github.com/docker-library/postgres|bitnami/minideb| |postgresql|Dockerfile|https://github.com/docker-library/postgres|bitnami/minideb| |postgresql-repmgr|Dockerfile|https://github.com/docker-library/postgres|bitnami/minideb| |rabbitmq|Dockerfile|https://github.com/docker-library/rabbitmq|bitnami/minideb| |redis|Dockerfile|https://github.com/docker-library/redis|bitnami/minideb| |redis-cluster|Dockerfile|https://github.com/docker-library/redis|bitnami/minideb| |redis-exporter|DockerImage|https://hub.docker.com/r/oliver006/redis_exporter|bitnami/minideb| |redis-sentinel|Dockerfile|https://github.com/docker-library/redis|bitnami/minideb| |tomcat|Install|https://downloads.apache.org/tomcat|bitnami/minideb| |wordpress|||bitnami/minideb| |zookeeper|Install|https://downloads.apache.org/zookeeper|bitnami/minideb|

Supported images and tags

  • :warning: For RabbitMQ for ARM64, JIT is disabled for building on AMD64.
  • :warning: For some images such as node and python, apache, java, the version can only match the major version. This is mostly the case for non-main apps, and I don't care because they're mostly dependencies for other apps.

Install Task

  • using task https://taskfile.dev/installation/
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin

List docker image patch status

go run main.go list
...
✔️  mongodb:5.0.9
✔️  mongodb-exporter:0.33.0
❌  mysql:5.7.38
  ❌  mysql.5.7.38-150
✔️  mysql:8.0.29
✔️  mysqld-exporter:0.14.0
❌  nginx:1.21.6
  ❌  nginx.1.21.6-153
❌  nginx:1.22.0
  ❌  nginx.1.22.0-153
✔️  nginx:1.23.0
...

Generate Dockerfile.arm64

task generate

Upgrade bitnami docker repositories

task upgrade

How to add a new image

This section has moved to the Wiki.

Compatible Images for Bitnami Charts

  • Recommended for production use.
|Charts|Image|Status| |------|-----|------| |thanos|docker.io/thanosio/thanos:v0.27.0|Official images are compatible.| |external-dns|registry.k8s.io/external-dns/external-dns:v0.12.2|Official images are compatible.|

License

Apache 2.0

Copyright © 2023 ZCube(zcubekr@gmail.com)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

License for generator (Golang scripts)

MIT License

License for patches

check References

License for Bitnami's code.

https://github.com/bitnami/charts

https://github.com/bitnami/containers

Copyright © 2023 Bitnami

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

🔗 More in this category

© 2026 GitRepoTrend · zcube/bitnami-compat · Updated daily from GitHub