mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-08 13:49:15 -05:00
[GH-ISSUE #1613] Unable to deploy with rootless podman #6757
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Froggy232 on GitHub (Oct 4, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/1613
Describe the Bug
Hi,
I try to deploy pangolin rootless on a Hetzner VPS that run Fedora CoreOS.
So far, I have created a new user zone, permitted unprivileged user to open restricted ports, and have redacted theses quadlets files :
Everything start successfully, except that gerbil and traefik seems to not be able to connect to the app, the logs of traefik tell me
2025-10-03T13:50:51Z ERR Provider error, retrying in 732.775521ms error="cannot fetch configuration data: do fetch request: Get \"http://app:3001/api/v1/traefik-config\": dial tcp 127.0.0.1:3001: connect: connection refused" providerName=httpand gerbil logs are here.Thanks you a lot for your help, of course, feel free to ask me any other informations as config files, I can post them too.
Have a nice day
Environment
To Reproduce
Try to deploy pangolin with podman in rootless mode
Expected Behavior
Traefik and gerbil should communicate with the app as they are all in the same pod. When I type
podman ps, the app container seems to not have theses ports opened, it's probably related?Thanks you a lot for your help, I would really love to switch from caddy + wireguard to Pangolin, but I fail to solve this issue.
@allentd commented on GitHub (Oct 4, 2025):
Hi, you might want to create podman network to connect the container through their hostname.
Got the same error when testing Pangolin recently on rootless podman without custom network.
@Froggy232 commented on GitHub (Oct 4, 2025):
Hi,
Thanks for your input, I will try that!
Are you sure it's necessary if they are inside the same container though? My others services works like that (they are grouped per service, one per pod) and everything works well, except for Pangolin.
I will try that right now regardless, thanks you a lot!
EDIT : Thanks you so much, I think it worked! Now, gerbil seems to be good, but I still have a traefik error :
2025-10-04T23:03:32Z ERR Provider error, retrying in 1.269850554s error="cannot fetch configuration data: do fetch request: Get \"http://app:3001/api/v1/traefik-config\": dial tcp 192.168.30.3:3001: connect: connection refused" providerName=httpI don't understand what it means, I will try to do research but if someone has an idea, I would be happy to hear it!
Thanks again
@Froggy232 commented on GitHub (Oct 4, 2025):
Traefik seems to sometime not be able to connect to the app container, but after relaunching it manually it seems to work.
Though, if I type
pangolin.mydomain.tldin the address bar, I get an ECONNRESET error from chrome or firefox.Someone has an idea on that error? I don't have anything in the log.
I feel like I'm closer than ever to get it working haha; thanks again @allentd
@allentd commented on GitHub (Oct 5, 2025):
About the errors, I'm still seeing 2, 3 lines of it even after adding After= and Requires= or BindsTo= to traefik.container on innitial startup with a working setup.
As for browsers ECONNRESET, it will be wild guess without any logs. Maybe configs issue?
Can try enabling traefik log in traefik.yaml to check it.
@Froggy232 commented on GitHub (Oct 5, 2025):
Sorry about the logs, I will check and post them but I think it's maybe a certificates problem? I have removed all the firewalls but it seems traefik still can't obtain them, it stays indefinitely on this step :
2025-10-05T17:46:02Z INF Testing certificate renew... acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=letsencrypt.acmeand I don't see anything in the certificates volume, maybe I'm wrong?I will add log in traefik and report back, thanks again
@allentd commented on GitHub (Oct 5, 2025):
Didn't see any issue in the logs, at least to my untrained eyes. New to Traefik, even newer to Pangolin, might have to wait for other to chime in. Sorry.
But the logs is exposing your domain name in there.
Just random thing come to my mind, how about firewall? Is VPS IP accessible through browser? It will just shows Traefik 404 page even on my working setup.
@hhftechnology commented on GitHub (Oct 5, 2025):
Corrected Quadlet Pack
app.containergerbil.containertraefik.containerpangolin.podKey Fixes
0.0.0.0:3001→ Traefik and Gerbil can reach it inside the pod.After=+Requires=) → Traefik and Gerbil won’t start before the app is ready./letsencrypt/acme.json) is persisted so certificates don’t vanish on restart.Next Steps you can try
~/.config/containers/systemd/.0.0.0.0:3001.traefik_config.yml(static)Notes:
endpointpoints tohttp://app:3001/...(since in your pod the container is namedapp).:8080by default (you can add an entryPoint if you want to expose it externally).dynamic_config.yml(dynamic)Notes:
your.domain.comwith actual domain.http://app:3000andhttp://app:3002(since they’re in the same pod, DNSappworks).How yopu should use this
traefikconfig volume:%h/config/traefikis mapped).... obtained ACME certificate successfullyConfiguration received from provider http@Froggy232 commented on GitHub (Oct 6, 2025):
Thanks you a lot!!!
I will try that right now and then report, thanks a lot!
@Froggy232 commented on GitHub (Oct 6, 2025):
It doesn't seems to work unfortunally, I now have that in the app logs : node:
bad option: --listen=0.0.0.0:3001Thanks again
@Froggy232 commented on GitHub (Oct 6, 2025):
Very weirdly, I just tried again without the
--listen=0.0.0.0:3001and without the custom network, and everything works now!I can post my quadlet files if someone want them to deploy Pangolin on quadlet, as reference, if it's helpful to someone.
Thanks you a lot, I can now begin to migrate!
Have a nice day, and thanks again
@Froggy232 commented on GitHub (Oct 6, 2025):
So sorry, I was thinking it was working but gerbil still doesn't work it seems? I can access the dashboard but when I try to deploy a new site, I can only select local.
Also, gerbil logs tell me :
I fail to understand the problem, but as I said, I have deployed it without the
Exec=--listen=0.0.0.0:3001line, so maybe it's related? Sorry to request help so much, but it seems it's now very close to working.Thanks again
@Froggy232 commented on GitHub (Oct 9, 2025):
Hi again,
So, I continue to investigate, and the more I look at it the more it seems impossible to solve :
Network=hostto the gerbil quadlet file, it fail few seconds after starting with the error :Failed to start proxy: failed to listen on port 443: listen tcp :443: bind: address already in usebecause obviously it's used by the pangolin pod and the traefik container (I don't even understand why gerbil need to listen on that port?)Network=hostit also fails to start because it can't connect to the app container anymore (probably because they are not in the same network anymore? The logs are in the message before this one).So far, I'm tempted to manually manage the VPN tunnel between my Pangolin instance, my clients and my homeserver manually, but it's pretty sad to not being able to use Pangolin and Newt for that, especially for the clients parts.
Again, if anyone can help I would accept it very heartfully, I would like so much to switch to pangolin...
Thanks again!
@Froggy232 commented on GitHub (Oct 9, 2025):
I have some updates : if I remove the line
sni 443from gerbil quadlet file, everything seems to work this time! Dashboard is up, I have no error in logs and gerbil seems to work, I can add some VMs in the dashboard through wireguard or newt, but when I try to add a new site I always have anInternal Server Error.Would someone have an idea? I will update this post with logs and screenshot soon.
Thanks again!
@remogatto commented on GitHub (Oct 9, 2025):
I was struggling with this issue too but I think I have a fix. It's a timing issue. You need to wait for pangolin container to go healthy in order to successfully connect the other containers (gerbil, traefik). The fundamental change was adding
Notify=healthyin thepangolin.containerconfiguration file, together with a bunch of Health* keys. My quadlets pack follows:proxy.pod
pangolin.container
gerbil.container
traefik.container
Let me know if this solves your issue.
Note
Reference
@Froggy232 commented on GitHub (Oct 9, 2025):
Thanks you a lot, we have very similar setup so I hope it will work.
I will try right now, and report back.
Thanks again!
@Froggy232 commented on GitHub (Oct 10, 2025):
Hi,
Sorry for the delay, it seems everything works!!!
Thanks you so much, it seems that the hetzner vps self hosted installation is working fully, but when I try to deploy on my own server I get an
internal server erroreverytime I try to access a ressource, I don't know why yet.I will continue to investigate, but it seems like the final run haha.
Thanks again
@Froggy232 commented on GitHub (Oct 10, 2025):
I have a lot of
http: TLS handshake error from 82.67.85.247:58756: read tcp 192.168.100.2:443->82.67.85.247:58756: read: connection reset by peer, maybe it's related? So far, I fail to understand why it works on my test VPS but not on my real server.@Froggy232 commented on GitHub (Oct 11, 2025):
Ok, I had a problem with DNS but now everything works!
Thanks you a lot, pangolin seems very great!