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

  • themeatbridge@lemmy.world
    link
    fedilink
    English
    arrow-up
    34
    ·
    1 day ago

    Check out Immich next. It’s sort of like a self-hosted Google photos except it allows you to own your photos.

    • Appoxo@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      7 hours ago

      Loving it.
      Don’t get discouraged by it being in “Beta”.
      Yes it get’s many releases in a short time frame. But nothing you can’t manage without reading patch notes.

  • Javi@feddit.uk
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 day ago

    Congrats! Out of the usual suspects, (nginx, traefik & caddy), id say nginx has the steepest learning curve, so it’s definitely something to crow about mate! I know professionals in the tech industry that have a hard time with nginx config, so an enthusiast getting it down is a bigger deal than you’re giving yourself credit for.

    I host various services for friends and family; and here are a couple I think will be of particular interest to you:

    Another thing I would strongly suggest doing, is setting up a single sign on Auth server. Something that will allow your friends and family to have one login for anything you setup. Personally I use keycloak. But there are other options like authentik and voidauth that are worth looking at too!

    Congrats again on the progress mate! You’re smashing it so far.

  • 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
        ·
        17 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
        ·
        17 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.

  • Jimbabwe@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 day ago

    Stuff I run:

    • HomeAssistant (home automation)
    • frigate (local foss security cam mgmt)
    • metube (web gui for yt-dlp)
    • technitium (dns mgmt with adblocking and many other features that make it better than pihole imo)
    • pdfDing (foss for pdf library mgmt)
    • netbird (in lieu of ddns, I use this self hosted vpn to connect to stuff when I’m not local)
    • caddy (maybe similar to ngnx, this lets me use custom names so I don’t have to remember ip/ports to connect)
    • heimdall (simple static dashboard)
    • guynamedzero@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      I’d actually argue that my usage is correct here, it’s probably a regional thing but imo, set up means the verb of setting something up, whereas setup is a noun referring to a specific way that something was set up

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        Right, and when you said you “finally setup nginx”, that was a verb, and should have been “set up”.

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

        (not parent commenter) May I word-nerd with you OP? Nice post btw.

        OK with your permission, which region? & I believe -

        You have a sweet new setup. A sweet new nginix setup! You spent time getting nginix set up. Now you can say you finally set up nginix as a reverse proxy. You’re proud of the setup.