Replies: 4 comments
-
Hi @F-TD5X, I've actually been working on this same thing - a smaller alpine or debian-slim multi-arch docker image where the nd user can choose the backend compression -either p7zip or unarr, and which would run YACReaderLibraryServre as a non-root user ( which I feel is important for security. I've made a lot of progress with this in that I have a already created two debian-slim-based images that run unarr and p7zip alternatively that both work perfectly and build as multi-arch images (via a Github Workflow). The only issue I've run into is getting the workflow to properly generate a docker manifest that correctly tags the p7zip vs unarr images correctly and then link the multiple arch versions of the same image together into one group (whether that something like I've been really busy with work so haven't had a chance to finalize it, but hope to get to it soon. I'll take a look at your Dockerfile and see how it compares to the one I've been working on, but I'm also open to hearing any suggestions and advice. So feel free to contintribue, whether here through suggestions, or via PRs. I worked on it a lot more changes on my local copy since I last pushed to GH (swapped to a Debian-slim base, removed unnecessary packages and launch the app using yasu to drop user privileges), but you can see the direction I was heading in this repo: https://github.com/xthursdayx/yacreaderlibrary-server-docker-dev |
Beta Was this translation helpful? Give feedback.
-
@xthursdayx Hi, I think the better way to make a multi-arch docker image is using To make a slim image, I think it's better to use some distro using busybox like alpine, we don't need any kernel feature, systemed or something big but not useful. And another way is to ship the image only with the libs it must have. Using For specific use non-root users we can just start the container by |
Beta Was this translation helpful? Give feedback.
-
Yeah, I think that is where we need to head anyway, since Dockerhub no long supports autobuild for non-enterprise clients anyway. I'm open to an Alpine-base over Debian-slim (though it's not much bigger), and I take your point about not needing kernel features or system.d. As you say, it could be possible to make a custom "from scratch" image with just the necessary libs, but that's not something I think I have the skills to attempt current. I'm going to keep playing with it, but I'm happy to see what you come up with and discuss the best possible image. |
Beta Was this translation helpful? Give feedback.
-
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Beta Was this translation helpful? Give feedback.
-
The reason why I want an alpine version is it is so small. You can check my build in DockerHub, the alpine version is just about 50 MB.
And my Dockerfile is in my repo
At the same time, for users using some headless server like raspberry pi or something same. It was nice to build an image with multi-platform support. This also can be viewed in my DockerHub, I build an image tagged as
edge
with 5 platform support. TThe way I archive this is using
docker buildx
in the GitHub workflow file.For I'm not familiar with GitHub workflow, I think I'd better not create a PR here.
Beta Was this translation helpful? Give feedback.
All reactions