Can you setup rest-server from existing repository?

Hello,

After I read the doc and the GitHub repo’s README, there does not seem to be a way to setup rest-server from an existing repository on my NAS, is it?

I want to know if I can skip running restic copy to copy snapshots to the server after I setup an empty repo on it.

Thanks!

1 Like

Yes, you can skip that. The repo structure (files and folders) is compatible, you can just use it :slight_smile:

Just point the rest-server to the directory which contains the repo, it should work out of the box.

1 Like

Great!

I was going to use Docker, so I guess I should just have to bind the directory containing the repo and start the container with this command?

docker run -p 8000:8000 \
  -v /my/data:/data \
  --env OPTIONS="--path /path/to/binded/repo" \
  --name rest_server \
  restic/rest-server

Oh no, I just realized the Docker image is not ARM compatible :pensive:

Yep, sorry about that. And I fear that the Docker image isn’t that well maintained. Nobody of the core development team uses it and the person who used to maintain it does not have the time any more. :confused:

Silly question perhaps but ban you elaborate? What part of it is not ARM compatible?

He probably means that there’s only an amd64 version of the Docker container, but there’s also Docker for Linux/arm, which would require a container with an arm64 binary of restic. Which don’t provide at the moment. :slight_smile:

1 Like

I use Docker quite extensively and would be willing to maintain the image. I’d actually like to migrate my existing rest-server installations to use Docker.

1 Like

You’re totally welcome to file PRs in the repo :slight_smile:

What I don’t get about what @axeleroy wrote is what he means is the actual problem. The rest-server Dockerfile just bases off alpine and adds a few scripts. Unless I’m mistaken all that needs doing is to change the “alpine” line to another arm-compatible base and that should be it. Not much of an ARM incompatibility if you ask me, it’s just one line to change to make it work.

Of course the rest-server binary you give to the container must be ARM as well, but that’s just a matter of picking the right binary from the downloads.

So, what’s the actual problem?

Presumably they did not try to actually build a Docker image, but just run the existing one on Docker Hub, which does not have an arm-compatible tag. I’m saying that I would be willing to maintain the images published to Docker Hub.

1 Like

Indeed, I was talking about the image hosted on Docker Hub, it did not occur to me that I could try build the image myself.

FYI: even though it is irrelevant to the original question, I successfully built and run a Docker image on my ARM-powered NAS.

1 Like