rest-server icon indicating copy to clipboard operation
rest-server copied to clipboard

Restic REST-Server Image for ARM-Architectures on Docker-Hub

Open AxelRHD opened this issue 5 years ago • 5 comments

Output of rest-server --version

REPOSITORY TAG IMAGE ID CREATED SIZE restic/rest-server 0.10.0 3598be715f32 4 weeks ago 14.1MB

What should rest-server do differently?

Server does everything right. But it would be great if there was an ARM image (Raspberry Pi 4 architecture) on DockerHub.

What are you trying to do? What is your use case?

Running Restic REST Server on Raspberry Pi (or other SBC) via Docker Contaier.

Did rest-server help you today? Did it make you happy in any way?

Of course! It is the best way for me to backup all my different SBCs to a central server. This server is now an AMD64 System, but I want to replace it with a SBC also.

Thank you for your great work!

AxelRHD avatar Oct 13 '20 13:10 AxelRHD

Hi, sorry for bothering you, I see, there is a open PR and no progress with this issue. Is there something which must be fixed? I forked the repo and was able to build multi-arch image with just one new action job (https://github.com/0xERR0R/rest-server/commit/b4734e042ac723cc0425cb77908655b0880fb869). But it is only a workaround, I'd like to use the official image and it would be great if you would merge the PR or give some feedback.

0xERR0R avatar Sep 24 '21 14:09 0xERR0R

Maybe @0xERR0R or @ngosang could open a PR to add the missing GitHub action to build for ARM architectures? Or would that not be enough?

fdw avatar Mar 20 '22 12:03 fdw

It's hard to test a GitHub action without admin permissions. The owner can copy my actions => https://github.com/ngosang/docker-amule/blob/master/.github/workflows/release-docker.yml#L49

ngosang avatar Mar 20 '22 13:03 ngosang

Is there any progress on this?

myxor avatar Sep 20 '22 17:09 myxor

Well, there is PR #144 that was opened and not updated for the past year or so. What's left to do is to remove the Dockerfile (which was updated in another PR) and for the owner of the restic Docker Hub account to create an access token and to fill it into the GitHub project's secrets.

In the meantime, you can build the image locally on your ARM-powered host (no dependencies other than docker and git are required)

# This command will clone the repo in a temporary folder and build from the Dockerfile
docker build -t restic/rest-server:latest-arm github.com/restic/rest-server

Then you will be able to launch the rest-server from the restic/rest-server:latest-arm tag.

axeleroy avatar Sep 21 '22 11:09 axeleroy

I built and published my own image with support for 7 architectures. I will maintain it for now, but I would prefer that at some point the official Docker image includes support for multi-arch so I don't have to maintain it. Fell free to copy anything you need from my repository.

  • Source code / issues: https://github.com/ngosang/docker-restic-rest-server
  • Docker image: https://hub.docker.com/r/ngosang/restic-rest-server

ngosang avatar Dec 06 '22 14:12 ngosang

I'd be happy to contribute an updated PR for this if the maintainers are open to review it. I have extensive experience building Actions that publish multi-arch Docker images.

I would also like to see the image published to both Docker Hub and GitHub Packages, since Docker Hub severely rate-limits pulls (and as someone behind CGNAT, that is very bad for me).

ItalyPaleAle avatar Dec 18 '22 07:12 ItalyPaleAle

I've pushed images for multiple architectures, can somebody please tell me if we need to do anything else? :)

fd0 avatar May 14 '23 14:05 fd0

Thank you. As final request it would be nice if you publish all architectures under the latest/0.12.0 tags.

Example: https://hub.docker.com/r/ngosang/restic-rest-server/tags image

ngosang avatar May 21 '23 09:05 ngosang

The image appears to be working on my pi. Thank you for releasing it.

However, the point expressed by @ngosang is important because the need of a tagged version carries some problems:

  • The explanations in the README don't work for the pi, because the tag needed is not latest but 0.12.0-arm64v8 (for the pi)
  • It forces checking manually (or with an RSS reader) if a new version is available, instead of the simple pull used by other images.

py-crash avatar May 25 '23 16:05 py-crash

The latest and 0.12.0 tags now contain a container manifest that combines the containers for the different architectures. For future releases, the updated goreleaser setup should create them automatically.

MichaelEischer avatar May 29 '23 21:05 MichaelEischer

I archived my project. I'm recommending the official Docker image. Thank you! https://github.com/ngosang/docker-restic-rest-server

ngosang avatar Oct 14 '23 20:10 ngosang