-
Hello, I looked into the problems of AIO with podman a bit. I've got the impression that adding However I'm new to the AIO mastercontainer and its PHP code. AFAIK, the mastercontainer controls starting the other containers by using docker unix socket. I would like to interfere here and test my idea. Is there some docs about mastercontainer development? Where is the place where the PHP code starts new containers? Kind regards, aanno |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
Hi,
Yes, this is how AIO works.
The code is here: https://github.com/nextcloud/all-in-one/tree/main/php#php-docker-controller. There you can also find some info on how to run this from source.
However, one of the main problems with podman currently is, that the included watchtower container which updates the mastercontainer is not compatible with podman. So this is one of the things that would need to be fixed. See containrrr/watchtower#1060. And even after fixing this, I am personally against adding support for podman, since, as stated in the docs, this would add another platform that we would need to test against. So you still have the option to either use docker rootless, use the manual-install https://github.com/nextcloud/all-in-one/tree/main/manual-install or follow #3487 which is not supported by us though. |
Beta Was this translation helpful? Give feedback.
-
Dear @szaimen , thank you for prompt answer. I completely understand that there a no plans to get podman official supported. However, I really think that AIO is just very near to unofficially run on podman right now. Podman has evolved substantially over the years. And it certainly supports the docker engine API out of the box, even in rootless mode. The following lines start the socket: # start socket in rootless mode
systemctl --user restart podman.socket
# check if socket is up
curl -H "Content-Type: application/json" \
--unix-socket /run/user/$UID/podman/podman.sock \
http://localhost/_ping
export DOCKER_SOCKET=/run/user/$UID/podman/podman.sock
export DOCKER_HOST=unix://$DOCKER_SOCKET
echo "export DOCKER_SOCKET=$DOCKER_SOCKET"
echo "export DOCKER_HOST=$DOCKER_HOST" The socket is not at However 'self reference' is still a bit difficult. |
Beta Was this translation helpful? Give feedback.
-
@aanno I'd like to help too and have some minor AIO development experience. I recently migrated my server to a newer OS and also migrated all my containers to podman user-space instead of docker. So far, with the user's docker.sock mapped, it seems to just work at a high level for basic functionality. So far I haven't reached the point of testing the backups or updates etc.
@szaimen I know your hesitation about supporting one more platform, but podman has been making steady progress and I think it's getting to a point where it can completely replace docker, which IMO is a good thing given it's architecture. How about we take a stab at identifying & fixing the issues as long as they don't break anything with regular docker or require dramatically different code? At that point it can remain a "it works but isn't officially supported state" until someone officially steps in to maintain it. Since I've migrated my personal setup to podman, I'm highly motivated to fix the basic functionality for myself at least :-) |
Beta Was this translation helpful? Give feedback.
Hi,
Yes, this is how AIO works.
The code is here: https://github.com/nextcloud/all-in-one/tree/main/php#php-docker-controller. There you can also find some info on how to run this from source.
However, one of the main problems with podman currently is, that the included watchtower container which updates the mastercontainer is not compatible with podman. So t…