Closed iamgitcat closed 10 months ago
Hi! I'm using Silverblue, too. Most likely not a bug in Pods.
This is most likely because Podman Desktop is doing something nasty to the socket that it shouldn't be doing. You should report this in their issue tracker.
See this video. The socket is dead after closing Podman Desktop. Pods and curl doesn't work any more.
Bildschirmaufzeichnung vom 2023-11-01, 17-06-55.webm
You can re-activate the socket by issuing:
systemctl --user restart podman.socket
I'd like to ask @iamgitcat, did you end up opening that issue? Would you care to provide a link?
I'd like to ask @iamgitcat, did you end up opening that issue? Would you care to provide a link?
This works systemctl --user restart podman.socket
, but I ended with systemd services, so images auto-update now.
This works
systemctl --user restart podman.socket
Curiously, that seemed to work when I first tried it yesterday but not after a reboot. Then, Pods wasn't able to connect even after running the command repeatedly.
Is there any useful info I can give about that?
@frandavid100 You could use a TCP socket if nothing else works (see https://gitlab.gnome.org/Teams/Circle/-/issues/150#note_1926675).
I'm having problems also even though I have the socket running. When I enter my hostname (HP-Z840) I get that error message. I tried local, localhost, http://127.0.0.1. What I'm I suppose to enter the NAME field. I have seen another post asking if all this can be setup automatically, because some of us without docs, are unfamiliar with how to set this all up. I prefer to use this package due to you all trying to keep it consistent with GNOME.
I'm I supposed to have the system-wide podman.socket enabled also? Currently, it's disabled, only the --user socket is enabled and running.
As the issue is closed, I will quickly explain why I decided not to use Pods.
That is an example to convert running container to systemd service:
cd ~/.config/systemd/user
podman generate systemd -f --new --name jellyfin
systemctl --user daemon-reload
That creates container-jellyfin.service
file, it is easy to edit it. Service will manage creating/updating our container. Last command reloads it (if you edited something).
The service itself could be enabled/disabled (for autostart), or just start/stop (even with disabled) or is-active to check with systemctl --user enable container-jellyfin.service
(replace enable to appropriate).
Also loginctl enable-linger
should make services running even if you log out or change user.
Also this one should be probably enabled, so service could update image if new version: systemctl --user enable --now podman-auto-update.service
And the last. There are various ways to manage services easy GUI way. Check Guillotine GNOME extension, it is simple and powerful way to use scripts, quick launch things, etc, you may have tumblers to turn on/off services, the syntax of config is easy and it has default examples and more at theit github, for our example tumbler is made with this:
{
"type": "switch",
"title": "Jellyfin",
"start": "systemctl --user start container-jellyfin.service",
"stop": "systemctl --user stop container-jellyfin.service",
"check": "systemctl --user is-active container-jellyfin.service",
"icon": "emblem-videos-symbolic",
"interval_s": 30
}
So you have easy switch from a single tray icon, you even see if it is on or off, and without any other programs launching or running. I hope it helps.
Thank you for the thorough response, although I'm still confused. I remember now trying to use this a while back and couldn't get it going. I dislike software where right from the start there is a problem. Maybe it's a Silverblue and Flatpak thing. I appreciate the leads. Will follow up and see where it goes.
Try it. With Pods we use GUI to manage podman containers. With systemd we let system manage podman container, and that leads to more possibilities, as services are universal thing in Linux.
I will. Thank you. Will this let me see all my Toolboxes? I have Three. fedora-toolbox-39, fedora-develop-39 and fedora-transcode-39?
Um.. Toolbox rely on Podman, but you do not need podman/Pods for using Toolbox, which are basically a terminal of a distros?
I was curious about the Toolboxes. I have actual containers, Tdarr, Plex, agentDVR. Toolboxes are an environment all to their own. Like having a mini Fedora inside of Fedora.
All I could think off is launching it quick with Guillotine:
{
"type": "command",
"title": "Toolbox",
"command": "gnome-terminal -- bash -c 'toolbox enter; exec bash'",
"icon": "org.gnome.Terminal-symbolic",
"killOnDisable": false
}
I'm having problems also even though I have the socket running. When I enter my hostname (HP-Z840) I get that error message. I tried local, localhost, http://127.0.0.1. What I'm I suppose to enter the NAME field. I have seen another post asking if all this can be setup automatically, because some of us without docs, are unfamiliar with how to set this all up. I prefer to use this package due to you all trying to keep it consistent with GNOME.
I'm I supposed to have the system-wide podman.socket enabled also? Currently, it's disabled, only the --user socket is enabled and running.
The name field is not relevant. You can enter anything there you want.
No idea, how you started the TCP socket. But if you used this command
podman system service --time=0 tcp://localhost:8888
then you shouldn't use the HTTP protocol. It should even work with HTTP, but I think you forgot to put the port 8888
at the end?
The correct URL would be:
tcp://localhost:8888
or
tcp://127.0.0.1:8888
I was facing the same issue and I seem to have found the solution. So even though this issue is closed it might help some other users. The root cause is that the Flatpak needs to be given explicit read permissions to the directory containing the user socket i.e. /run/user/1000/podman
Pods (with local connection) work only if Podman Desktop is running. Maybe some solution is possible on immutable system, I could not manage to run local connection in Pods without Podman Desktop.
If I try to connect without Podman Desktop running:
error trying to connect: No such file or directory (os error 2)
If I close Podman Desktop when Pods running:
Connection lost: error reading a body from connection: unexpected EOF during chunk size line
The default
unix:///run/user/1000/podman/podman.sock
is no such file I found 2:/usr/lib/systemd/system/podman.socket
/usr/lib/systemd/user/podman.socket
Environment