-
This repository builds multi-arch (
linux/amd64
+linux/arm64
) docker images for some bitnami charts. -
This is a workaround for bitnami/charts#7305.
-
These images are NOT intended for production use.
- This repository cannot be stable. Changes in multiple repositories (apt, bitnami, etc...) are reflected so images can break at any time.
- This repository is mainly maintained for my homelab and development.
-
This repository does not support all bitnami images.
- I believe that someday bitnami will support arm64.
- I don't use all images from bitnami.
- I prefer database or other development tools, not for general apps. (e.g. wordpress, odoo, discourse, ...)
- For general apps, if arm64 is already supported (not for bitnami), I recommended to use it. This repository's may not reach production ready.
- If anyone wants to make an image patch themselves, I can help with that. Please make an issue.
-
These images use Bitnami's scripts. Binaries refer to the official Docker or official distribution binaries of the software or Docker recipes for Docker.
-
Every friday.
-
⚠️ Recently deleted for old images older than 30 days.- I think I'm using too much storage (I'm GitHub Free plan user...), so I'm cleaning it up. In the case of an old image, it may have been deleted, and in that case, a manifest unknown error occurs when docker pull is performed. Since this is a multi-arch image, the layer connected to the tag is deleted and only the manifest remains.
-
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
- install task https://taskfile.dev/installation/
- install golang https://go.dev/doc/install
- clone
git clone https://github.com/ZCube/bitnami-compat cd bitnami-compat task generate or go run main.go generate --app=mongodb
- verify Dockerfile.arm64. Official images or build scripts referenced for build are listed in the table below.
- 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.
- 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
✔️ cert-manager
✔️ common
✔️ consul
✔️ contour
✔️ contour-operator
✔️ discourse
✔️ elasticsearch
✔️ etcd
✔️ external-dns
✔️ fluentd
✔️ kafka
✔️ keycloak
✔️ mariadb
✔️ mariadb-galera
✔️ memcached
✔️ minio
✔️ mongodb
✔️ mongodb-sharded
✔️ mysql
✔️ nginx
✔️ node
✔️ postgresql
✔️ postgresql-ha
✔️ rabbitmq
✔️ rabbitmq-cluster-operator
✔️ redis
✔️ redis-cluster
✔️ sealed-secrets
✔️ solr
✔️ thanos
✔️ tomcat
✔️ wordpress
✔️ zookeeper
❓ apache
❌ apache
✔️ git
✔️ apache-exporter
❓ nginx-ingress-controller
❌ nginx-ingress-controller
✔️ nginx
❓ nginx-intel
❌ nginx-intel
✔️ git
✔️ nginx-exporter
❓ wordpress-intel
❌ wordpress-intel
✔️ bitnami-shell
✔️ nginx-exporter
- For wordpress-intel charts, try using wordpress-nginx instead of wordpress-intel images. (wordpress-intel = wordpress-nginx)
-
⚠️ For RabbitMQ for ARM64, JIT is disabled for building on AMD64. -
⚠️ 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. -
⚠️ The mongodb provided by this repository does not currently work on Raspberry Pi 4. Use the image I distribute at https://github.com/ZCube/mongodb-for-armv8.0-a. -
acmesolver :
1
,1-debian-11
,1.10.0
,1.10.0-debian-11
,1.10.0-debian-11-r37
-
apache-exporter :
0
,0-debian-11
,0.11.0
,0.11.0-debian-11
,0.11.0-debian-11-r37
-
bitnami-shell :
11
,11-debian-11
,11.0.0
,11.0.0-debian-11
,11.0.0-debian-11-r37
-
cainjector :
1
,1-debian-11
,1.10.0
,1.10.0-debian-11
,1.10.0-debian-11-r37
-
cert-manager :
1
,1-debian-11
,1.10.0
,1.10.0-debian-11
,1.10.0-debian-11-r37
-
cert-manager-webhook :
1
,1-debian-11
,1.10.0
,1.10.0-debian-11
,1.10.0-debian-11-r37
-
consul :
1
,1-debian-11
,1.13.3
,1.13.3-debian-11
,1.13.3-debian-11-r37
-
consul-exporter :
0
,0-debian-11
,0.8.0
,0.8.0-debian-11
,0.8.0-debian-11-r37
-
contour :
1.20
,1.20-debian-11
,1.20.2
,1.20.2-debian-11
,1.20.2-debian-11-r37
-
contour :
1.21
,1.21-debian-11
,1.21.1
,1.21.1-debian-11
,1.21.1-debian-11-r37
-
contour :
1.22
,1.22-debian-11
,1.22.1
,1.22.1-debian-11
,1.22.1-debian-11-r37
-
contour-operator :
1.20
,1.20-scratch
,1.20.2
,1.20.2-scratch
,1.20.2-scratch-r37
-
contour-operator :
1.21
,1.21-scratch
,1.21.1
,1.21.1-scratch
,1.21.1-scratch-r37
-
contour-operator :
1.22
,1.22-scratch
,1.22.1
,1.22.1-scratch
,1.22.1-scratch-r37
-
discourse :
2
,2-debian-11
,2.8.9
,2.8.9-debian-11
,2.8.9-debian-11-r37
-
elasticsearch :
7
,7-debian-11
,7.17.7
,7.17.7-debian-11
,7.17.7-debian-11-r37
-
elasticsearch-exporter :
1
,1-debian-11
,1.5.0
,1.5.0-debian-11
,1.5.0-debian-11-r37
-
envoy :
1.20
,1.20-debian-11
,1.20.7
,1.20.7-debian-11
,1.20.7-debian-11-r37
-
envoy :
1.21
,1.21-debian-11
,1.21.5
,1.21.5-debian-11
,1.21.5-debian-11-r37
-
envoy :
1.22
,1.22-debian-11
,1.22.5
,1.22.5-debian-11
,1.22.5-debian-11-r37
-
envoy :
1.23
,1.23-debian-11
,1.23.2
,1.23.2-debian-11
,1.23.2-debian-11-r37
-
etcd :
3.3
,3.3-debian-11
,3.3.27
,3.3.27-debian-11
,3.3.27-debian-11-r37
-
etcd :
3.4
,3.4-debian-11
,3.4.22
,3.4.22-debian-11
,3.4.22-debian-11-r37
-
etcd :
3.5
,3.5-debian-11
,3.5.5
,3.5.5-debian-11
,3.5.5-debian-11-r37
-
external-dns :
0
,0-debian-11
,0.13.1
,0.13.1-debian-11
,0.13.1-debian-11-r37
-
fluentd :
1
,1-debian-11
,1.15.3
,1.15.3-debian-11
,1.15.3-debian-11-r37
-
git :
2
,2-debian-11
,2.38.1
,2.38.1-debian-11
,2.38.1-debian-11-r37
-
java :
1.8
,1.8-debian-11
,1.8.352
,1.8.352-debian-11
,1.8.352-debian-11-r37
-
java :
11
,11-debian-11
,11.0.17
,11.0.17-debian-11
,11.0.17-debian-11-r37
-
java :
17
,17-debian-11
,17.0.5
,17.0.5-debian-11
,17.0.5-debian-11-r37
-
jmx-exporter :
0
,0-debian-11
,0.17.2
,0.17.2-debian-11
,0.17.2-debian-11-r37
-
kafka :
3.0
,3.0-debian-11
,3.0.2
,3.0.2-debian-11
,3.0.2-debian-11-r37
-
kafka :
3.1
,3.1-debian-11
,3.1.2
,3.1.2-debian-11
,3.1.2-debian-11-r37
-
kafka :
3.2
,3.2-debian-11
,3.2.3
,3.2.3-debian-11
,3.2.3-debian-11-r37
-
kafka :
3.3
,3.3-debian-11
,3.3.1
,3.3.1-debian-11
,3.3.1-debian-11-r37
-
kafka-exporter :
1
,1-debian-11
,1.6.0
,1.6.0-debian-11
,1.6.0-debian-11-r37
-
keycloak :
19
,19-debian-11
,19.0.3
,19.0.3-debian-11
,19.0.3-debian-11-r37
-
keycloak-config-cli :
5
,5-debian-11
,5.4.0
,5.4.0-debian-11
,5.4.0-debian-11-r37
-
kubectl :
1.22
,1.22-debian-11
,1.22.15
,1.22.15-debian-11
,1.22.15-debian-11-r37
-
kubectl :
1.23
,1.23-debian-11
,1.23.13
,1.23.13-debian-11
,1.23.13-debian-11-r37
-
kubectl :
1.24
,1.24-debian-11
,1.24.7
,1.24.7-debian-11
,1.24.7-debian-11-r37
-
kubectl :
1.25
,1.25-debian-11
,1.25.4
,1.25.4-debian-11
,1.25.4-debian-11-r37
-
mariadb :
10.5
,10.5-debian-11
,10.5.18
,10.5.18-debian-11
,10.5.18-debian-11-r37
-
mariadb :
10.6
,10.6-debian-11
,10.6.11
,10.6.11-debian-11
,10.6.11-debian-11-r37
-
mariadb :
10.7
,10.7-debian-11
,10.7.7
,10.7.7-debian-11
,10.7.7-debian-11-r37
-
mariadb :
10.8
,10.8-debian-11
,10.8.6
,10.8.6-debian-11
,10.8.6-debian-11-r37
-
mariadb-galera :
10.5
,10.5-debian-11
,10.5.18
,10.5.18-debian-11
,10.5.18-debian-11-r37
-
mariadb-galera :
10.6
,10.6-debian-11
,10.6.11
,10.6.11-debian-11
,10.6.11-debian-11-r37
-
mariadb-galera :
10.7
,10.7-debian-11
,10.7.7
,10.7.7-debian-11
,10.7.7-debian-11-r37
-
mariadb-galera :
10.8
,10.8-debian-11
,10.8.6
,10.8.6-debian-11
,10.8.6-debian-11-r37
-
memcached :
1
,1-debian-11
,1.6.17
,1.6.17-debian-11
,1.6.17-debian-11-r37
-
memcached-exporter :
0
,0-debian-11
,0.10.0
,0.10.0-debian-11
,0.10.0-debian-11-r37
-
minio :
2022
,2022-debian-11
,2022.11.10
,2022.11.10-debian-11
,2022.11.10-debian-11-r37
-
minio-client :
2022
,2022-debian-11
,2022.11.7
,2022.11.7-debian-11
,2022.11.7-debian-11-r37
-
mongodb :
5.0
,5.0-debian-11
,5.0.13
,5.0.13-debian-11
,5.0.13-debian-11-r37
-
mongodb :
6.0
,6.0-debian-11
,6.0.2
,6.0.2-debian-11
,6.0.2-debian-11-r37
-
mongodb-exporter :
0
,0-debian-11
,0.35.0
,0.35.0-debian-11
,0.35.0-debian-11-r37
-
mongodb-sharded :
5.0
,5.0-debian-11
,5.0.13
,5.0.13-debian-11
,5.0.13-debian-11-r37
-
mongodb-sharded :
6.0
,6.0-debian-11
,6.0.2
,6.0.2-debian-11
,6.0.2-debian-11-r37
-
mysql :
8.0
,8.0-debian-11
,8.0.31
,8.0.31-debian-11
,8.0.31-debian-11-r37
-
mysqld-exporter :
0
,0-debian-11
,0.14.0
,0.14.0-debian-11
,0.14.0-debian-11-r37
-
nginx :
1.23
,1.23-debian-11
,1.23.2
,1.23.2-debian-11
,1.23.2-debian-11-r37
-
nginx-exporter :
0
,0-debian-11
,0.11.0
,0.11.0-debian-11
,0.11.0-debian-11-r37
-
node :
14
,14-debian-11
,14.21.1
,14.21.1-debian-11
,14.21.1-debian-11-r37
-
node :
16
,16-debian-11
,16.18.1
,16.18.1-debian-11
,16.18.1-debian-11-r37
-
node :
18
,18-debian-11
,18.12.1
,18.12.1-debian-11
,18.12.1-debian-11-r37
-
openldap :
2.6
,2.6-debian-11
,2.6.3
,2.6.3-debian-11
,2.6.3-debian-11-r37
-
pgpool :
4
,4-debian-11
,4.3.3
,4.3.3-debian-11
,4.3.3-debian-11-r37
-
postgres-exporter :
0
,0-debian-11
,0.11.1
,0.11.1-debian-11
,0.11.1-debian-11-r37
-
postgresql :
10
,10-debian-11
,10.23.0
,10.23.0-debian-11
,10.23.0-debian-11-r37
-
postgresql :
11
,11-debian-11
,11.18.0
,11.18.0-debian-11
,11.18.0-debian-11-r37
-
postgresql :
12
,12-debian-11
,12.13.0
,12.13.0-debian-11
,12.13.0-debian-11-r37
-
postgresql :
13
,13-debian-11
,13.9.0
,13.9.0-debian-11
,13.9.0-debian-11-r37
-
postgresql :
14
,14-debian-11
,14.6.0
,14.6.0-debian-11
,14.6.0-debian-11-r37
-
postgresql-repmgr :
10
,10-debian-11
,10.23.0
,10.23.0-debian-11
,10.23.0-debian-11-r37
-
postgresql-repmgr :
11
,11-debian-11
,11.18.0
,11.18.0-debian-11
,11.18.0-debian-11-r37
-
postgresql-repmgr :
12
,12-debian-11
,12.13.0
,12.13.0-debian-11
,12.13.0-debian-11-r37
-
postgresql-repmgr :
13
,13-debian-11
,13.9.0
,13.9.0-debian-11
,13.9.0-debian-11-r37
-
postgresql-repmgr :
14
,14-debian-11
,14.5.0
,14.5.0-debian-11
,14.5.0-debian-11-r37
-
python :
3.10
,3.10-debian-11
,3.10.8
,3.10.8-debian-11
,3.10.8-debian-11-r37
-
python :
3.7
,3.7-debian-11
,3.7.15
,3.7.15-debian-11
,3.7.15-debian-11-r37
-
python :
3.8
,3.8-debian-11
,3.8.15
,3.8.15-debian-11
,3.8.15-debian-11-r37
-
python :
3.9
,3.9-debian-11
,3.9.15
,3.9.15-debian-11
,3.9.15-debian-11-r37
-
rabbitmq :
3.10
,3.10-debian-11
,3.10.11
,3.10.11-debian-11
,3.10.11-debian-11-r37
-
rabbitmq :
3.11
,3.11-debian-11
,3.11.3
,3.11.3-debian-11
,3.11.3-debian-11-r37
-
rabbitmq :
3.9
,3.9-debian-11
,3.9.25
,3.9.25-debian-11
,3.9.25-debian-11-r37
-
rabbitmq-cluster-operator :
2
,2-scratch
,2.0.0
,2.0.0-scratch
,2.0.0-scratch-r37
-
redis :
6.2
,6.2-debian-11
,6.2.7
,6.2.7-debian-11
,6.2.7-debian-11-r37
-
redis :
7.0
,7.0-debian-11
,7.0.5
,7.0.5-debian-11
,7.0.5-debian-11-r37
-
redis-cluster :
6.2
,6.2-debian-11
,6.2.7
,6.2.7-debian-11
,6.2.7-debian-11-r37
-
redis-cluster :
7.0
,7.0-debian-11
,7.0.5
,7.0.5-debian-11
,7.0.5-debian-11-r37
-
redis-exporter :
1
,1-debian-11
,1.45.0
,1.45.0-debian-11
,1.45.0-debian-11-r37
-
redis-sentinel :
6.2
,6.2-debian-11
,6.2.7
,6.2.7-debian-11
,6.2.7-debian-11-r37
-
redis-sentinel :
7.0
,7.0-debian-11
,7.0.5
,7.0.5-debian-11
,7.0.5-debian-11-r37
-
rmq-default-credential-updater :
1
,1-scratch
,1.0.2
,1.0.2-scratch
,1.0.2-scratch-r37
-
rmq-messaging-topology-operator :
1
,1-scratch
,1.9.0
,1.9.0-scratch
,1.9.0-scratch-r37
-
sealed-secrets :
0
,0-scratch
,0.19.1
,0.19.1-scratch
,0.19.1-scratch-r37
-
solr :
8
,8-debian-11
,8.11.2
,8.11.2-debian-11
,8.11.2-debian-11-r37
-
solr :
9
,9-debian-11
,9.0.0
,9.0.0-debian-11
,9.0.0-debian-11-r37
-
thanos :
0
,0-scratch
,0.28.1
,0.28.1-scratch
,0.28.1-scratch-r37
-
tomcat :
8.5
,8.5-debian-11
,8.5.83
,8.5.83-debian-11
,8.5.83-debian-11-r37
-
tomcat :
9.0
,9.0-debian-11
,9.0.68
,9.0.68-debian-11
,9.0.68-debian-11-r37
-
wordpress :
6
,6-debian-11
,6.1.0
,6.1.0-debian-11
,6.1.0-debian-11-r37
-
wordpress-nginx :
6
,6-debian-11
,6.1.0
,6.1.0-debian-11
,6.1.0-debian-11-r37
-
zookeeper :
3.6
,3.6-debian-11
,3.6.3
,3.6.3-debian-11
,3.6.3-debian-11-r37
-
zookeeper :
3.7
,3.7-debian-11
,3.7.1
,3.7.1-debian-11
,3.7.1-debian-11-r37
-
zookeeper :
3.8
,3.8-debian-11
,3.8.0
,3.8.0-debian-11
,3.8.0-debian-11-r37
- using task https://taskfile.dev/installation/
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin
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
...
task generate
task upgrade
Example : mariadb/10.8
- Add submodule
cd bitnami-dockers
git submodule add https://github.com/bitnami/bitnami-docker-mariadb
cd ..
go run main.go makeDirs
- Write build scripts
- patches/golang/mariadb/10.8/install.sh
- patches/docker/mariadb/10.8/Dockerfile.from
- patches/docker/mariadb/10.8/Dockerfile.install
- patches/bash/mariadb/10.8/install.sh
- Apply and test
task generate
cd bitnami-dockers/bitnami-docker-mariadb/10.8/debian-11
docker buildx create --name multiarchbuilder
docker buildx inspect multiarchbuilder --bootstrap
docker buildx use multiarchbuilder
docker buildx build --platform linux/amd64,linux/arm64 -t testimage . -f Dockerfile.arm64
docker run --rm -ti testimage
- 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. |
- Create Containers manifest.
- Version check tool for compatible images.
- [*] Trivy scan.
- Minimal tests. ( like : kubectl version --client=true, docker compose up )
- Add Release branches & tags. ( weekly?, monthly? )
- Faster build for multistaged images.
- Split app patches and components patches.
- Render Dockerfile.arm64 to repository.
- Get an Arm64 machine for build and testing.
- Remove unused apps.
- Improve Readme template.
- [*] Add docker labels for notice.
Apache 2.0
MIT License
check References
Apache 2.0
This repository contains sources, binaries and recipes from Bitnami and other software. Each software has its own license.
This repository lacks support for production use.
This repository is provided as is.
It might be dangerous for production use. Use after testing