This page covers different mechanisms for installing Hipcheck. It's organized between direct installation and container-based installation.
Use the following instructions if you want to install Hipcheck onto your local system outside of a container. If you want to install Hipcheck inside of a container, see the container installation instructions.
The easiest way to install Hipcheck is to use an install script included with each release.
After running the install script, run hc setup
to set up your local
configuration and script files so Hipcheck can run.
We currently provide prebuilt binaries for the following targets:
x86_64-unknown-linux-gnu
x86_64-pc-windows-msvc
aarch64-apple-darwin
x86_64-apple-darwin
We provide installation shell scripts for:
These scripts install the Hipcheck binary and the Hipcheck self-updater.
Some users may be uncertain about using an install script piped into a shell command. For those users, you can download each install script by hand before running it. The scripts are included in the set of artifacts bundled with each Hipcheck release.
The scripts themselves are only downloaded over TLS-protected connections, and the artifacts are checked against SHA-256 hashes also included with each release to ensure artifact integrity.
If you're on a platform for which Hipcheck does not provide pre-built binaries, or want to modify Hipcheck's default release build in some way, you will need to build Hipcheck from source.
To build Hipcheck from source, you'll need:
protoc
compiler: see the installation instructionsIf you only want to build from source without configuring the build in any
way, you can use cargo install
to install Hipcheck into a Cargo0-specific
binary directory with the source found from Crates.io.
$ cargo install hipcheck
If you do want to build from source and configure the build or modify Hipcheck itself before building, you'll also need:
You can then clone the Hipcheck repository with Git, make whatever build modifications you want to make, and then install with:
$ git clone https://github.com/mitre/hipcheck
$ cd hipcheck
$ cargo install --path hipcheck
After running the install script, run hc setup
to set up your local
configuration and script files so Hipcheck can run.
This will install the hc
binary into your Cargo-specific binary
directory.
Same as with the cargo-binstall
installation, installing Hipcheck this way
does work, but does not install the Hipcheck self-updater, which the
recommended install scripts do install. If you want Hipcheck to be able to
update itself to newer versions, you'll need to install it with an
install script or install the
self-updater yourself.
Hipcheck can also be used inside of a container in Docker, Podman, and other container-based systems.
The Hipcheck project maintains an official Containerfile
which describes
the Hipcheck container, and publishes images to Docker Hub with each new
release.
Hipcheck publishes container images to Docker Hub under the mitre/hipcheck
namespace. In general, we maintain a
latest
tag which always refers to the most-recently published version, as
well as tags for each individual version.
You can use these with Docker by default, or with any other container system which you have configured to be able to pull container images from Docker Hub.
For example, to run a short-lived container with Docker using the most recent Hipcheck image, you might run:
$ docker run mitre/hipcheck:latest
Containerfile
You can also run Hipcheck from the local Containerfile
, first by building
the image, and then by running that image. For example, with Docker:
To do this you will need Git to get a local copy of the repository, or to download the repository contents from GitHub without the Git history.
$ git clone https://github.com/mitre/hipcheck
$ cd hipcheck
$ docker build -f dist/Containerfile .
This will build the image, which you can then use normally.
The following section lists any methods which were supported at one point for prior versions of Hipcheck. They're recorded here in case you need to use one of these older versions, but they are not recommended regardless, and can't be used at all with newer versions.
cargo-binstall
This method is deprecated as of version 3.8.0. You can use this method to install old versions of Hipcheck, but it will not work for newer versions.
Read RFD #7: Simplified Release Procedures to learn more.
Hipcheck is written in Rust, and releases of Hipcheck are published to
Crates.io, the official Rust open source package host.
The Rust ecosystem has a popular tool, called cargo-binstall
that can search for and install prebuilt binaries for packages published
to Crates.io.
To install Hipcheck with cargo-binstall
, you'll need:
cargo-binstall
: see their installation instructionsThen you can run:
$ cargo binstall hipcheck
After running the install script, run hc setup
to set up your local
configuration and script files so Hipcheck can run.
This will install the latest version of Hipcheck. To install a specific older
version instead, replace hipcheck
with hipcheck@<VERSION>
, replacing
<VERSION>
with the version you need.
Installing Hipcheck with cargo-binstall
does work, but does not install
the Hipcheck self-updater, which the recommended install scripts do install.
If you want Hipcheck to be able to update itself to newer versions, you'll need
to install it with an install script or
install the self-updater yourself.