Migrate from MinIO to Buckit
Overview
Buckit is derived from MinIO Community Edition and is fully compatible with it.
Migrating is therefore just a binary replacement: stop MinIO and start Buckit on the same configuration.
Choose Your Deployment Type
Select the procedure matching how MinIO runs today:
Migrate a Manually Run Binary: MinIO started from a shell command, a script, or a supervisor other than systemd.
Migrate a Container Deployment: MinIO running under Docker, Docker Compose, or Kubernetes.
Migrate a systemd Deployment: MinIO installed from a package on Linux and managed as a
systemdservice by theminio.serviceunit. Buckit Manager provides a guided workflow for this deployment type. Manual migration is also an option.
The rest of this page applies to all three procedures.
Considerations
Back Up the Configuration
The migration does not modify object data, but a rollback point is inexpensive insurance.
Export the deployment configuration with MinIO still running:
mc admin cluster iam export ALIAS
mc admin cluster bucket export ALIAS
mc admin config export ALIAS > buckit-config-backup.txt
Replace ALIAS with the alias of the deployment.
The first two commands write ALIAS-iam-info.zip and ALIAS-bucket-metadata.zip to the current directory.
Store all three files outside the cluster.
Plan a Restart Window
Buckit and MinIO nodes must not run in the same cluster at the same time. For distributed deployments, stop every node, replace the binary on every node, then start every node. Mixed MinIO and Buckit clusters are not supported.
Set Root Credentials Explicitly
In the rare case that your MinIO deployment does not explicitly set MINIO_ROOT_USER and MINIO_ROOT_PASSWORD, set them before migrating.
Buckit’s built-in default credentials differ from MinIO’s, so leaving them unset changes the root credentials at cutover.
Confirm which case applies:
grep -E "MINIO_ROOT_(USER|PASSWORD)" /etc/default/minio
If the command prints both variables, nothing further is needed.
If it returns nothing, add the credentials the cluster currently uses to the environment file and restart MinIO before migrating:
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
Validate the Migration
Run these checks after completing any of the three procedures.
Existing mc aliases continue to work without reconfiguration:
mc admin info ALIAS
mc ls ALIAS
mc ls ALIAS/BUCKET
Replace ALIAS with the alias of the migrated deployment and BUCKET with the name of an existing bucket.
Open the Buckit Console at http://HOSTNAME:9001 and confirm the expected buckets, users, and policies are present.
Run an end-to-end check:
mc cp ~/testfile ALIAS/BUCKET/
mc cat ALIAS/BUCKET/testfile
mc rm ALIAS/BUCKET/testfile
Applications require no changes. The endpoint, access keys, region, and SDKs are the same.
Appendix: What Carries Over
Because Buckit is a fork rather than a rewrite, the only thing that changes is the binary name, from minio to buckit.
Everything below carries over unchanged:
Component |
Status |
|---|---|
On-disk format ( |
Identical. Same drives, no conversion. |
Buckets, objects, versions, tags, and object lock |
Read in place. |
Users, policies, groups, and service accounts |
Read in place from |
Bucket lifecycle, replication, notification, and encryption configuration |
Read in place. |
Environment variables ( |
Same names. |
S3 API endpoints and request signing |
Unchanged. |
Admin API paths ( |
Unchanged. Existing |
Prometheus metrics endpoints |
Unchanged. Existing dashboards and alerts keep reporting. |
Server flags ( |
Unchanged. |
Server configuration file ( |
Same path, same variables. |