-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Addition of podman support and sorts of improvements #3
base: master
Are you sure you want to change the base?
Conversation
** Support for podman ** Change from ubuntu to debian:stable-slim for a smaller image (<200mb) ** Improvements on apt handling ** [Tini](https://github.com/krallin/tini) addition allowing anydesk to properly receive signals from shell/terminal/docker|podman stop|kill|rm ** README.md improvements This commit was tested on podman rootless.
Hello @leleobhz I looked at the changes and improvements. I agree about switching Ubuntu to Debian, but I remember trying this before and having trouble running AnyDesk. About "xauth", unfortunately, in some Linux distributions, this library is not installed, and users may encounter errors. About "Tini", If you are using Docker 1.13 or greater, Tini is included in Docker itself. This includes all versions of Docker CE. Note: The reason for separating the layers is to make the build process faster and take up less space in the rest of the images. About "podman", it is the same as docker and they are not different. But as for using ENTRYPOINT, its best use is in sending parameters to AnyDesk. Thank you for your contribution |
Hello @alireaza !
Anydesk tells in download page the .deb version also runs on Debian. This commit works with podman + Fedora host and I'm using it as production environment since I dont like the way Anydesk package installs on system.
Some clarification here is needed: XAuth issues does not relate to container except for xauth binary presence. Let's take
Main issue about Xauth is on host. Host MUST authorize connections and it will check client in the internal ACL. In fact, if you properlly redirect Xorg socket and authorize connection on host (not in container), container will work without modification.
I prefer explicitly use Tini because it properlly handle signals - task that is assumed only to PID1. Some projects also create their wrappers for this (Like Node-RED). It's in some matter problematic allow user to choose handle PID1 issues with
I understand multi-stage builds and this kind of build isn't for everything. Image size on previous Dockerfile is increased by apt update/upgrade and this is not needed because debian releases docker images with security updates already on base image. This kind of approach just increases layer size. Main reason for changing Ubuntu to Debian is related to this and related to
podman and docker does have diferences too. I decided to copy build step to keep documentation complete, but run instructions differ because rootless matter of podman. Security label and userns are not required nor recommended on docker because docker handles this as root, but podman does not, and require user to disable SELinux to use anydesk docker image does not make much sense.
ENTRYPOINT is by definition immutable and points to first process. Thinking UX, to change CMD, you just need to run Since
I want to thank you back! You code saved-me a ton of time in a desperate momment, so i think its fair try to contribute back. |
Hello @alireaza !
Thank you a lot by creating this Dockerfile. I made some improvements and I hope you like it and merge the changes following:
** Support for podman
** Change from ubuntu to debian:stable-slim for a smaller image (<200mb) ** Improvements on apt handling
** Tini addition allowing anydesk to properly receive signals from shell/terminal/docker|podman stop|kill|rm ** README.md improvements
This commit was tested on podman rootless.