Nothing crazy in this post, I just wanna brag about setting up nginx for my media server.

My media sharing journey has been long, with a number of huge upgrades to my setup. I started in January, where I would torrent movies and shows and stream them over discord to my girlfriend.

In February, the wonderful people of the fediverse convinced me to try Linux, so I installed Fedora Linux on my pc (I absolutely love it and will never go back), I learned so much about Linux in just a few weeks, and wanted to try self hosting, so I installed jellyfin on my computer for just me and my girlfriend.

In late February (maybe March?), I got a homelab server running to install jellyfin, I had nothing else on it, jellyfin wasn’t even installed through docker (I was afraid of docker). I would manually transfer torrented movies/shows from my pc to the server via sftp clients.

Eventually, i think May, I introduced some friends/ family to my media server, and realized I needed to scale up a bit, so I setup the full arr stack with jellyseerr and qBitTorrent and migrated jellyfin to docker.

A few weeks ago, i finally figured out hardware acceleration with my old nvidia graphics card, as it was being a pain in the ass previously. Up to this point, everyone would just connect with my homes external ip and port forwarding.

This brings us to yesterday, my isp, Comcast, had a “planned” outage that they didn’t warn anyone about. Which ended up changing my ip so none of my friends/family could access anything until I figured out what happened. So, I finally decided to setup a ddns with noip, and looked into nginx and reverse proxies. After a few trials and tribulations, people can now access everything on the server without sticking a port on the end of a url/ip. Along the way i also started hosting my own team speak and factorio servers

Now I’m just wondering if there’s anything else that’ll make a huge improvement like everything else mentioned, I don’t think there’s anything else I could even want, except upgrading the actual server hardware with more storage

  • itsworkthatwedo@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    1 day ago

    Did you follow a specific guide or refer to specific documentation for the reverse proxy? I’ve tried (admittedly not super hard) multiple times to set one up with nginx with no luck.

    • guynamedzero@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      1
      ·
      1 day ago

      As much as I hate to admit it, I asked ChatGPT, because like you, I couldn’t find any good tutorials/guides about setting it up, ultimately ChatGPT gave me exactly the information I needed, if you need some help I can send a template config thingy later

      • rumba@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        15 hours ago

        Providing documentation to something that you don’t know is one of its few really solid uses. If it misses a detail or doesn’t get it right on the first try, it’s still probably faster than you starting from scratch, RTFM.

      • Appoxo@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        No worries. But be sure to research what you setup for it being sane or secure.

        As for myself: I had significant help from a fellow dude on discord answering many of my stupid questions.
        Everyone had to begin at one point ;)

    • walden@sub.wetshaving.social
      link
      fedilink
      arrow-up
      8
      ·
      1 day ago

      Vanilla nginx is still too far over my head, but Nginx Proxy Manager makes easy work of it.

      A lot of people like Caddy but I’ve never tried it. The config files are much simpler and it auto-renews certificates (but so does Nginx Proxy Manager).

      • rumba@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 hours ago

        Straight up reverse proxy isn’t bad. I think it’s only a couple lines in a file.

        But when you want to add let’s encrypt and dynamic DNS. It starts to get a little bit meatier.

    • UnpledgedCatnapTipper@piefed.blahaj.zone
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      If you’ve got a docker host, nginx proxy manager is super simple. Aside from a super basic docker compose file, the rest of the config can be done via the web gui.

      If you’re on proxmox, there’s a helper script for creating an nginx proxy manager lxc, and the rest can be done via the web gui as well.