garage/doc/book/cookbook/from-source.md
Alex 1c0ba930b8 Reorganize documentation for new website (#213)
This PR should be merged after the new website is deployed.

- [x] Rename files
- [x] Add front matter section to all `.md` files in the book (necessary for Zola)
- [x] Change all internal links to use Zola's linking system that checks broken links
- [x] Some updates to documentation contents and organization

Co-authored-by: Alex Auvolat <alex@adnab.me>
Reviewed-on: Deuxfleurs/garage#213
Co-authored-by: Alex <alex@adnab.me>
Co-committed-by: Alex <alex@adnab.me>
2022-02-07 11:51:12 +01:00

1.3 KiB

+++ title = "Compiling Garage from source" weight = 10 +++

Garage is a standard Rust project. First, you need rust and cargo. For instance on Debian:

sudo apt-get update
sudo apt-get install -y rustc cargo

You can also use Rustup to setup a Rust toolchain easily.

Using source from crates.io

Garage's source code is published on crates.io, Rust's official package repository. This means you can simply ask cargo to download and build this source code for you:

cargo install garage

That's all, garage should be in $HOME/.cargo/bin.

You can add this folder to your $PATH or copy the binary somewhere else on your system. For instance:

sudo cp $HOME/.cargo/bin/garage /usr/local/bin/garage

Using source from the Gitea repository

The primary location for Garage's source code is the Gitea repository.

Clone the repository and build Garage with the following commands:

git clone https://git.deuxfleurs.fr/Deuxfleurs/garage.git
cd garage
cargo build

Be careful, as this will make a debug build of Garage, which will be extremely slow! To make a release build, invoke cargo build --release (this takes much longer).

The binaries built this way are found in target/{debug,release}/garage.