restic is a backup program that is fast, efficient and secure. Detailed information can be found in the documentation and the user manual. The design document lists the technical background and gives detailed information about the structure of the repository and the data saved therein. The file FAQ.md lists the most frequently asked questions.
The latest documentation can be viewed online at https://restic.readthedocs.io/en/latest. On the bottom left corner there is a menu that allows switching to the documentation and user manual for the latest released version.
You can download the latest pre-compiled binary from the restic release page.
Install Go/Golang (at least version 1.7), then run
go run build.go,
afterwards you'll find the binary in the current directory:
$ go run build.go $ ./restic --help Usage: restic [OPTIONS] <command> [...]
You can easily cross-compile restic for all supported platforms, just supply the target OS and platform via the command-line options like this (for Windows and FreeBSD respectively):
$ go run build.go --goos windows --goarch amd64 $ go run build.go --goos freebsd --goarch 386
The resulting binary is statically linked and does not require any libraries.
More documentation can be found in the user manual.
At the moment, the only tested compiler for restic is the official Go compiler. Building restic with gccgo may work, but is not supported.
Contributions are welcome! Please open an issue first (or add a comment to an existing issue) if you plan to work on any code or add a new feature. This way, duplicate work is prevented and we can discuss your ideas and design first.
More information and a description of the development environment can be found
CONTRIBUTING.md. A document describing the design of
restic and the data structures stored on the back end is contained in
If you'd like to start contributing to restic, but don't know exactly what do
to, have a look at this great article by Dave Cheney:
Suggestions for contributing to an Open Source project
A few issues have been tagged with the label
help wanted, you can start
looking at those: https://github.com/restic/restic/labels/help%20wanted
If you discover a bug, find something surprising or if you would like to discuss or ask something, please open a github issue. If you would like to chat about restic, there is also the IRC channel #restic on irc.freenode.net.
Important: If you discover something that you believe to be a possible critical security problem, please do not open a GitHub issue but send an email directly to firstname.lastname@example.org. If possible, please encrypt your email using the following PGP key (0x91A6868BD3F7A907):
pub 4096R/91A6868BD3F7A907 2014-11-01 Key fingerprint = CF8F 18F2 8445 7597 3F79 D4E1 91A6 868B D3F7 A907 uid Alexander Neumann <email@example.com> sub 4096R/D5FC2ACF4043FDF1 2014-11-01
Restic is licensed under "BSD 2-Clause License". You can find the complete text
in the file