I’ve got a homelab running a number of services in Docker. Everything works beautifully internally, but access from outside the network is very slow. I’m using nginx proxy manager and cloudflare ddns for the external access. It’s not a speed issue. I’m on fiber with a very solid upload.

Jellyfin and Overseerr are the main services that I’m having trouble with. Oddly, once you manage to get a video going in Jellyfin, it works fine.

I could use some guidance in what to look for, what tools I can use, or any other advice on how to track down the issue. Thanks!

  • hatedbad@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 months ago

    start with basics:

    • install iperf on every device you can between an external device and your internal host(s) and use it to find any bottlenecks
    • use tools like tcpdump to analyze packets flowing over the network. you can often find surprising results this way
    • start with a simple test best (again, iperf) with the most simple config (no nginx etc) and add the complexity of your config bit by bit until the issue returns
    • litchralee@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      4 months ago

      Regarding tcpdump, you can use it directly from the command line to print out packets, or you can have it record traffic to a file. That file can later be opened in Wireshark for analysis, with filters, color, blackjack and hookers, and protocol decoding.

      Things like TCP retries or MTU issues/fragmentation will be very apparent when presented in Wireshark.

    • atfergs@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      Thanks. I also forgot to mention that I have a Home Assistant instance running on a different machine that isn’t reliant on NPM, and it works fine, and has the same issue when I try to migrate it to NPM, so I’m sure the issue is there. I’ll try your suggestions.