For context: I have 0 programming, coding, etc. related knowledge.

For some months I’ve been dedicating time into setting up a Homelab that hosts music, movies, maybe home security (Frigate, I suppose), minecraft servers (or maybe other games too) and maaaaybe local AIs (if I get a better system), in that order, from more to less important. Some of the caractheristics that I prioritize are: privacy first, Zero third-party exposure, disk data encryption, self-hosting, FOSS priority perspective, trying not to compromise in any way my home network-using devices through all the process. Since, as I said, I have 0 programing or even Linux experience, I’ve done all this process guided by a local ran AI (Qwen 3.6), YouTube videos and forums (not the perfect formula for a cybersecurity safe environment, I know).

In an old laptop (Acer Aspire ES15-… with AMD A6-6310 / 16GB RAM) I’ve installed Linux Debian Trixie 13 (GNOME) with Docker and CasaOS with Jellyfin (for movies, it worked), Navidrome (for music, also worked) and recently Netbird, this one to connect into the local network from outside my home net, which kinda worked, but not as I expected it to work.

And this is where I feel I’m stuck. My main absolute priority the whole time setting this all up was being able to stream music from my homelab in my phone from everywhere in the world as long as I had internet connection, but when I managed to achieve that connection after soooo many hours and even stream music from my phone only with mobile data, it needed like 1 minute to load 3 seconds of a song, so it’s not enough at all. After seeing this, I’ve reseted all netbird data so I can do a clean install.

I need help with the process of setting this (I believe it’s a VPN) up in a way that it is Self-hosted, secure and fast enough so I can make it all achieve my expectations. Any video, forum thread or personal recomendation that you can give me will be so much appreciated.

Summarizing it a little, this is what I was trying to achieve:

CasaOS Architecture: Netbird (FOSS WireGuard mesh) + (maybe) Caddy Reverse Proxy + (maybe) Internal PKI + (maybe) LUKS Encryption Security Model: Zero port forwarding, outbound-only private tunnels, device-by-device approval, end-to-end HTTPS, full data-at-rest encryption.

Let me know if I’m missing any important information and I will do my best to share it.

Thank you so so much in advance!!

  • Well1@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    Yesterday I checked and the best I got was: “Ping: 152.186 ms Download: 9.35 Mbit/s Upload: 18.69 Mbit/s”

    It’s weird because with this connection (that seems to me it is heavily slow) I can easily stream FLAC files, some of them with sizes like 140.000 KB instantly, even faster than the music streaming apps I have used for quite some time (Spotify and now Tidal). All this obviously when being inside my home network, no VPNs.

    When you say “use the Netbird SaaS server” I understand you are suggesting I try using NetBird servers instead of using my own selfhosted NetBird system to see if there’s any difference, am I right?

    Thanks!! :D

    • icb4dc0de@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Generally speaking, ~19Mbit/s should be enough for a FLAC stream. But as the mathematicians like to joke “assuming, chickens are spherical and live in a vacuum” 😅😂 as others mentioned, there’s likely much more going on than only this upload so the upload / download rates might be an issue.

      I would try to eliminate possible issues by isolating them as good as possible and then verifying if they are actually a problem or not.

      That could mean:

      • try to verify the speed between some outside device and your Netbird instance without any music streaming, buffering, … involved. For instance download the same FLAC file 10 times to your outside device, measure the rates and do this at a time where as few as possible devices / other people are active, if possible, store FLAC file somewhere on the Netbird server, to really be sure it’s not something else
      • try to measure the speed between your Netbird and your Jellyfin instance as good as possible, again, ideally without any streaming involved but any kind of simple download would be best and again, best at a time with low traffic
      • then possibly measure speeds between external device and Jellyfin with some downloads

      If the speeds look alright you’d have to check for protocol issues, STUN problems, Wireguard issues, port forwarding limitations (?) we’d need some more details for better advice here.

      And yes, I meant trying the official Netbird servers instead your local one. Same idea, basically, if everything works fine with their server, it might be some weird problem between your external device and your Netbird server for instance 🤷‍♂️

      Let us know how it goes and have fun 😁

    • Flatfire@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Seeing as you’re running this from a laptop, was this speed test performed on a wired connection?

      For self-hosting services you want to access remotely, you may find this to be exceptionally limiting. It may not be too bad if you live alone, and you’re sure no one else is using your network when you’re gone, but other devices performing routine updates may be enough to disrupt your outgoing connection. Additionally, that ping would indicate the speed test is being run from somewhere quite far from you. Latency that bad isn’t a great time for applications that might expect a consistent response time.

      As for streaming those FLACs from your server while at home: You’re not going to struggle loading these files, because your local network is likely running at least at gigabit speeds. That speed test isn’t representative of your network as a whole, but just your internet connection.