-
Notifications
You must be signed in to change notification settings - Fork 174
Flood hangs after logging in, but "works" when quitting rtorrent? #761
Comments
I've tried a bit more, but I'm still stuck. I'm now trying to debug with a dedicated rtorrent and a dedicated flood docker image (instead of combining them). I've figured out:
No idea why it's behaving this way. |
This seem to be an issue caused by using Traefik and a non-default pathURI (i.e /flood instead of /. Not sure witch is causing it, but I'm thinking Flood, since it sort of loads up (hence Treaefik working), but is just stuck on the "loading screen". |
Looking into this again. Still stuck, but I think I've narrowed it down further.
I'm trying to route the rtorrent and flood docker via an openvpn-client docker, and that is breaking it. Why does Flood halt, as long as it has access to the socket it should not care? Makes no sense. It serves files fine, but will not let me past the loading icon.
|
I've tried to digg a bit more: Just to make sure I didn't configure something wrong with keeping flood and rtorrent as separate docker images, I tested with a different docker image (linuxserver/flood) that combines rtorrent and flood into one image. It still halted on login. So from there I disconnected/removed the Then I sort of had an breaktrough – I tested opening the docker host address/url:3000, and that worked. I tried the same on the traefik address/url, and that did not work. That just loads the username/password box, and then it halts on the loading screen. The logs from flood shows it loads the exact same files when it works (via docker host and via the traefik host). So I don't understand whats going on. At least it looks like I've narrowed it down to that Traefik is breaking something with flood (or vica versa). |
You're using a third-party docker image (from linuxserver) and an untest OS (Traefik) and making teh whole thing going through a VPN. All I can tell is that this is the recommended way to install: https://rawsec.ml/en/archlinux-install-rtorrent-flood-sftp/ Try to reproduce that in some docker containers. |
I don't think you read my previous post that well (or I was unclear). I've run a lot of docker images, both the dockerfile from this repo and others, to try see if they did anything different (including docker images that combine rtorrent and flood in one image, and not in two separate). I've also done it with and without routing it through a VPN container – and that makes no difference. Traefik is not an OS, it is an awesome reverse proxy. Everything works if I use the docker host as the URL on port 3000 (ie. dockerhostname.subdomain.TLD:3000), but Flood hangs/stops on the loading screen if I use the Traefik host (ie. flood.subdomain.TLD). Hence the issue is between Traefik and Flood somewhere. But I have no idea why. Everything else works with Traefik (including rutorrent, and a lot of other non torrent related services). If I'm guessing, it could be something with the http headers, but I'm not skilled enough to figure that out as of yet. |
Ok so whatever is Traefik you're trying to use it as a reverse proxy. So basically you can take a look of what I did with Nginx (https://rawsec.ml/en/archlinux-install-rtorrent-flood-sftp/#configure-nginx) or the wiki (https://github.com/jfurrow/flood/wiki/Using-Flood-behind-a-reverse-proxy). |
That's the thing, afaik I'm not doing anything special (and all other services works fine – i.e I'm currently running Sonarr, Radarr and Jacket containers routed via the VPN container with the exact same reverse proxy (traefik) settings – and that works flawlessly. ). And the reverse proxy (traefik) is sort of working (i.e it loads up the login (or setup) screen), but hangs when logging in. So something is going on at that moment, when it is trying to log you in. |
I never saw this |
Thanks, but the setup works fine when you access the host directly in the browser i.e So there is something with flood and traefik that I can't figure out. |
If directly accessing the docker is fine, it must be an issue with traefik. |
Ok. But it has to be something special with Flood, since it semi-works (ie. loads up the login/setup part, but hangs in the loading screen after entering the credentials). And every other container (including rutorrent, that connects to the same socket) works. |
I also experience exactly the same symptoms. In my case it's not a docker image, just self-installed flood with nginx, nginx has |
Glad I'm not alone. Could it be a "bug" with Flood? It has to be something with the login process that Flood does differently than most other? Since I have a few other services that requires login that works fine. Maybe it should be reopened and have the bug tag after all @noraj? |
Did you tried to add PS : I'm not a dev, only a member helping with issue on its own spare time. |
I didn't, I followed this guide, which mentioned only the Will try later today. |
I added additional settings and that did not help. I looked in the dev console which request is actually hanging, and it turns out that it's |
I re-installed rTorrent + Flood recently from git. Working behind nginx reverse proxy. The steps I followed are described here. And finally it works perfectly. Nearly every user of flood make it work behind a reverse proxy (Nginx, Apache httpd, etc.). |
PS : As you can read I'm using more instructions that only |
@Zyrophr As you seem to use a nested route, have you put For support there is no better place than the Discord troubleshooting channel. --- PS --- I'm not a dev of Flood, only a member helping with issues on his free time. The only dev is @jfurrow, but he is not active anymore. @Zyrophr if you care about Flood take a look at #712 and #672. The actual project is slowly dying without active developers. |
@Zyrophr, add a
In order to support easy access without the trailing slash, add this below:
My case was a little more complicated, I actually had two reverse-proxy chained. One front-facing with SSL and another that simply spliced connections to rtorrent RPC and flood on that VM. Apparently keep-alive don't work on nginx if you proxy twice.
So with regards to keep-alive settings on a reverse proxy, logic would dictate both of the nginx setups are configured correctly. I have no clue whatsoever why chaining two reverse proxies doesn't work. |
I had this problem too. After the login screen Flood hangs and do not show the torrents screen. |
Has anyone successfully found a traefik configuration that will work with flood? Using traefik for about 30 other applications and don't experience this type of behavior. I have no problem hitting flood directly but when proxying via traefik, it experiences the issue with not rending anything after the initial flood login screen. This is with the default |
@billimek, I am almost certain that the hanging has something to do with the TCP connection not staying open via keep-alive so that flood can push the activity-stream data. I would suggest figuring out what exactly is terminating your TCP connection. |
In my case the issue was with the adblocker (Adguard). I figured this out because Flood worked from my mobile but not laptop Chrome. Flood IP was whitelisted but Adguard probably altered TCP flow anyways. |
I'm having the same issue and as far as I can tell @andsens is right about keep-alive connections being disrupted but they don't seem to be dropped altogether, just delayed for some minutes, which leads me to think Traefik is buffering these responses for some reason. Whether this is a Flood specific thing or a general Traefik thing I'm not sure. |
My problem was present while running nginx, but actually even opening flood directly (on it's port), there was still problem. So at least for me, the problem was in flood and rebuilding everything with npm fixed it. |
@DotEfekts I figured it out!
I work with traefik myself, though not in that context. There seem to be some buffering related configs in traefik, but the documentation implies that buffering is something you turn on. So I'm not sure whether the underlying issue is the same. |
I found a traefik configuration which seems to allow this to work! Based on this issue, I looked at the traefik compression documentation and disabled compression for my traefik instance for the https entrypoint via, [entryPoints]
[entryPoints.https]
address = ":443"
compress = false And the flood UI will now properly load after the auth screen. No idea what the ramifications are for other things by globally disabling compression in traefik, but it does 'resolve' the above issue in my case, at least. |
@billimek that makes perfect sense wrt buffering. You can't compress without at least buffering some of the data, which is what seems to kill keep-alives! |
@andsens I've got nginx at the front going to Traefik in an Linux container and that seems to have done it for me, thanks! |
I'm running Flood on WSL (Windows Subsystem for Linux) and I'm able to reproduce this issue. No proxy server just listening on |
Seeing this on a FreeBSD system as well, using nginx as reverse-proxy and accessing over a Wireguard tunnel. Tried with chromium and firefox, same issue in both. |
Hey everyone! I just went through the whole dance of figuring out how to solve this issue. TL;DR: it's because of nginx buffering, and I added a solution in the wiki here: https://github.com/Flood-UI/flood/wiki/Using-Flood-behind-a-reverse-proxy#disable-buffering The Hope it helps! |
Your Environment
Summary
Flood hangs after logging in, but as soon as rtorrent quits it loads up and get the data?
The weird thing is that Flood "has the data" when it loads after quiting rtorrent (and flood, since they are in the same dockerfile)
See video:
Expected Behavior
Flood loading up the interface as normal.
Config files
docker-compose.yml:
config.js:
.rtorrent.rc
The text was updated successfully, but these errors were encountered: