Migrate a Manually Run Binary
Overview
Use this procedure when MinIO runs from a shell command, a script, or a process supervisor other than systemd, such as supervisord or runit.
Review the shared considerations before starting.
Procedure
1. Stop MinIO
Stop the running MinIO process using whatever mechanism starts it. For distributed deployments, stop the process on every node before starting Buckit anywhere.
2. Download the Buckit Binary
The following command downloads the buckit binary for this host into the current directory.
curl -fsSL https://buckit-io.github.io/buckit/install-binary.sh | sh
On macOS, only Apple Silicon is supported.
irm https://buckit-io.github.io/buckit/install-windows.ps1 | iex
You can also download the binary directly from the Buckit releases page, picking the asset matching the host, for example buckit-linux-amd64.RELEASE.<tag> for 64-bit Linux.
Move the binary to the directory holding the existing minio binary:
sudo mv buckit MINIO_DIR/buckit
Replace MINIO_DIR with the current minio binary directory, for example /usr/local/bin.
Move-Item -Force buckit.exe MINIO_DIR\buckit.exe
Replace MINIO_DIR with the current minio.exe directory.
3. Start Buckit With the Same Arguments
Start Buckit with the same command that started MinIO, replacing minio with buckit.
Every flag and environment variable carries over unchanged.
For example, a deployment started with this command:
minio server /data --console-address ":9001"
now starts with this one:
buckit server /data --console-address ":9001"
Use your own arguments rather than the ones shown here.
If a process supervisor (e.g. supervisord or runit) starts MinIO, update the program path in its configuration from minio to buckit and reload the supervisor.
Validate
Run the checks in Validate the Migration.
Rollback
Because no data was converted, rollback means stopping Buckit and starting the previous MinIO binary again with the same arguments.
Retain the original minio binary until the migration is validated.
For example, stop Buckit and then run:
minio server /data --console-address ":9001"
Use your own arguments rather than the ones shown here.