Detection
Your application is detected as Rust when one of these files is present in the root directory:Cargo.tomlCargo.lock
Version Detection
The Rust toolchain version is determined from the following sources, in order of priority:rust-toolchainfilerust-toolchain.tomlfilerust-versionfield inCargo.toml
Build Process
During the build, the following steps are performed:- Rust toolchain installation - The appropriate version of the Rust toolchain is installed.
- Dependency caching - A dummy source technique is used to cache dependency compilation separately from your application code, which significantly speeds up subsequent builds.
- Release build - Your application is compiled as a release binary using
cargo build --release. - Workspace support - Cargo workspaces are fully supported. The buildpack detects and builds workspace members correctly.
- Static assets - If
static/orpublic/directories are present, they are copied to the final image.
Run Command
The binary name is auto-detected from yourCargo.toml. The compiled release binary is used as the run command.
You can override the run command by defining a web process in a Procfile at the root of your repository. You can also override the run command directly in the Miget dashboard when creating your app or changing the deployment source.

Configuration
You can customize the build and runtime behavior through the Miget dashboard and repository configuration files:- Environment variables - Set under Settings -> Variables in the Miget dashboard
- Procfile - Define the start command at the root of your repository
- Project Path - For monorepo setups, specify the subdirectory containing your application code in the Advanced tab
- Pre-Deploy Command - Run a command before deployment (e.g., database migrations) in the Advanced tab
- Post-Deploy Command - Run a command after successful deployment (e.g., seeding data, cache warming) in the Advanced tab
Docker Hardened Images
You can enable Docker Hardened Images (DHI) in the Advanced tab when creating your app or changing the deployment source. When enabled, your application is built using distroless runtime images with a minimal attack surface, no shell, and no package manager.
For the complete reference, see the migetpacks Rust documentation.

