restic/docker
Michael Eischer 3a93e28605 CI: Remove .dockerignore to ensure reproducible builds
Since go 1.18, built binaries also include VCS information such as the
built commit. This information is also included in the official
binaries. To ensure that the Docker container recreates the same
binaries, the .git folder must also be transferred into the container.
Thus, remove the .dockerignore file.

The copied files must also be owned by the current user within the
container, as git refuses to work otherwise.
2023-07-08 23:16:14 +02:00
..
build.sh Multistage Docker build 2021-09-21 08:23:33 +02:00
Dockerfile docker: update to Go 1.20 for custom container builds 2023-07-08 23:05:39 +02:00
Dockerfile.release CI: Remove .dockerignore to ensure reproducible builds 2023-07-08 23:16:14 +02:00
README.md Add hostname flag to Docker docs 2023-07-01 18:46:31 +02:00

Docker image

Build

From the root of this repository run:

./docker/build.sh

image name will be restic/restic:latest

Run

Set environment variable RESTIC_REPOSITORY and map volume to directories and files like:

docker run --rm --hostname my-host -ti \
    -v $HOME/.restic/passfile:/pass \
    -v $HOME/importantdirectory:/data \
    -e RESTIC_REPOSITORY=rest:https://user:pass@hostname/ \
    restic/restic -p /pass backup /data

Restic relies on the hostname for various operations. Make sure to set a static hostname using --hostname when creating a Docker container, otherwise Docker will assign a random hostname each time.