# installation

There are three ways to install Bantu Core: you can use a Docker image, use pre-built packages, or build from source. Using a Docker image is the quickest and easiest method, so it's a good choice for a lot of developers, but if you're running Bantu Core in production you may need to use packages or, if you want to sacrficie convenience for maximum control, build from source. Whichever method you use, you should make sure to install the latest [release](https://github.com/stellar/stellar-core/releases) since releases are cumulative and backwards compatible.

## Docker-based installation

The SDF maintains a [quickstart image](https://github.com/stellar/docker-stellar-core-horizon) that bundles Bantu Core with Horizon and postgreSQL databases. It's a quick way to set up a default, non-validating, ephemeral configuration that should work for most developers.

The SDF also maintains a Bantu-Core-only [standalone image](https://github.com/stellar/docker-stellar-core) that starts a 3 node local bantu-core network, all on the same docker host

In addition to the SDF images, SatoshiPay maintains Docker separate images for [Bantu Core](https://github.com/satoshipay/docker-stellar-core) and [Horizon](https://github.com/satoshipay/docker-stellar-horizon). The SatoshiPay Bantu Core Docker image comes in a few flavors, including one with the AWS CLI installed and one with the Google Cloud SDK installed. The Horizon image supports all Horizon environment varilables.

## Package-based Installation

If you are using Ubuntu 16.04 LTS, we provide the latest stable releases of [bantu-core](https://github.com/stellar/stellar-core) and [bantu-horizon](https://github.com/stellar/go/tree/master/services/horizon) in Debian binary package format.

You may choose to install these packages individually, which offers the greatest flexibility but requires **manual** creation of the relevant configuration files and configuration of a **PostgreSQL** database.

Most people, however, choose to install the **bantu-quickstart** package which configures a **Testnet** `bantu-core` and `bantu-horizon` both backed by a local PostgreSQL database. Once installed you can easily modify either the Bantu Core configuration if you want to connect to the public network.

## Installing from source

See the [install from source](https://github.com/stellar/stellar-core/blob/master/INSTALL.md) for build instructions.

## Release version

In general you should install the latest [release](https://github.com/stellar/stellar-core/releases) bulds builds are backward compatible and are cumulative.

The version number scheme that we follow is `protocol_version.release_number.patch_number` where:

`protocol_version` is the maximum protocol version supported by that release (all versions are 100% backward compatible), `release_number` is bumped when a set of new features or bug fixes not impacting the protocol are included in the release, `patch_number` is used when a critical fix has to be deployed.
