Skip to content
Build script and Dockerfile to produce the restic binaries
Dockerfile Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dockerfile Fix compilation Oct 11, 2018
README.md Improve README Apr 23, 2019
download.sh Update Go version Apr 23, 2019

README.md

This repository contains the build script and Dockerfile used to produce the binaries for each restic release starting at 0.9.3.

Instructions

Note: For more detailed instructions, reference the Reproducible Builds section of the Developer Information.

First, clone (or update) this repo:

$ git clone https://github.com/restic/builder.git

or

$ git pull

Second, pull the base image and build the docker container:

$ docker pull debian:stable
$ docker build --no-cache -t restic/builder .

Next, download and extract the restic source code.

$ curl -L https://github.com/restic/restic/archive/v0.9.3.tar.gz -O
$ tar -xzvf v0.9.3.tar.gz

Then run the build as follows, mounting the directory with the source code as /restic and putting the resulting files in the directory output:

$ mkdir output
$ docker run --rm --volume "$PWD/restic-0.9.3:/restic" --volume "$PWD/output:/output" restic/builder

Verify Build

If all goes well then you've produced exactly the same binaries as in the official release.

To verify the linux amd64 build for example, run:

$ sha256_restic=3c882962fc07f611a6147ada99c9909770d3e519210fd483cde9609c6bdd900c
$ echo "${sha256_restic} output/restic_linux_amd64.bz2" | sha256sum -c -

Software

The Docker container is based on Debian stable and the official Go compiler is used in the latest released version.

The container has the official Go compiler installed in /usr/local/go.

You can’t perform that action at this time.