Hi everyone,

I’m just getting started in the world of selfhosting and wanted some advice.

I’m currently using a 2015 MacBook Pro (i7 with 16gb of RAM) running Sonoma as a small Jellyfin Server. I’ve got an externally powered 4TB HDD connected for media storage. It’s been going fine, and I use it to access Jellyfin on several devices across my house, I don’t have remote access set up.

I’m planning to move home in the next year and I’m thinking about long-term solutions which will allow me to self host more than just Jellyfin, so I wanted some advice. I have some experience using Linux on laptops, and I can troubleshoot networking stuff using ChatGPT. I don’t work in IT/ software but I’m a decent end-user.

Here’s what I’d like to self-host: More robust Jellyfin setup - I’d like access to my media outside of my home, so probably using tailscale or similar. An NAS with a cloud storage solution which will eventually allow me to move away from iCloud. Home security server - a small setup, I’m thinking 2 ip cameras and easy access to footage on my phone. I want to ditch ring for multiple reasons / don’t want to rely on a subscription service. A pi-hole to block adds across my home network.

Moving home is going to be expensive so I’m not trying to spend a tonne of money. Which leads me to ask. What kind of setup would you guys recommend I invest in? I can spend about €500-600. Ideally, I’d like to be at a point where everything I run is open source. I assume I can’t expect to scale up using my 2015 MacBook Pro? Is is possible to install something like proxmox on these machines? my other option would be a small mini pc, perhaps running proxmox. Do I need to buy a dedicated NAS in your opinion? I have 10tb in external hdds that could serve as a makeshift setup.

Any advice would be greatly appreciated. Thanks

  • emon@masto.top
    link
    fedilink
    arrow-up
    5
    ·
    1 month ago

    @puck if your not using your mac for any other purpose you may stick with it to see how it compete.

    Even with a lot of services running, most of the time you don’t need very high end cpu, especially if you can enable hw acceleration (like for jellyfin). In that scenario a 200$ power efficient small linux server might be enough (like N15 trigkey). What will cost you money is memory.

    Don’t forget you need to buy backups disks (or use the ones you already have).

    • puck@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Thanks, yeah my Mac will be a dedicated machine for this setup. Do you think I should keep sonoma on it (obviously that’s an issue as far as my goal of going all-FOSS) or install proxmox/ another Linux distro?

  • metaStatic@kbin.earth
    link
    fedilink
    arrow-up
    4
    ·
    1 month ago

    There’s nothing wrong with just running a laptop as a server until you have specific requirements it can’t meet.

    Like maybe running a pi hole over wifi doesn’t fill you with confidence and you really need something plugged into your router.

    in which case I’d get a cheap mini-pc. even something as cheap as an N95 will handle everything you want to do here easily but you can also go the 2nd hand 1L route which can be fun too.

    • puck@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Thanks for the reply. Regarding pi-hole on WiFi, I can connect the laptop via LAN with a usb adapter. So that may mitigate that issue

      • metaStatic@kbin.earth
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        I mentioned a cheap dedicated server because I’m not sure when quicksync was introduced, if you need to do any transcoding at all an intel macbook will probably catch fire.

        and if you haven’t already then change the thermal paste. I have a 2015 pro as well and it gets real hot, factory paste can be a crap shoot if it’s even making contact in the first place much less after a decade and new paste actually makes a bigger difference in performance than I expected.

  • Karna@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 month ago

    I’m running the following apps as docker container on a 12+ years old Alienware M14x R2 ( spec: https://dl.dell.com/manuals/all-products/esuprt_laptop/esuprt_alienware_laptops/alienware-m14x-r2_reference guide_en-us.pdf).

    Upgraded RAM to 16 GB, and replaced HDD with internal SSD for better system throughput.

    Instead of Wi-Fi, I connected it to LAN for better network throughput.

    The performance is good for me and my wife even though I’m running it in power saving mode.

    OS: Ubuntu Server 24

    Apps: (On rootless docker)

    1. Nextcloud AIO
    2. Jellyfin
    3. Vaultwarden
    4. AdGuardHome
    5. DrawIO
    6. IT-Tools
    7. SearxNG
    8. LibMedium
    9. Traefik
    10. Linkwarden
    11. Squid
    12. Quetre
    13. Portainer
    14. Transmission

    When working remotely, I’m using Tailscale to access it.

  • tburkhol@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 month ago

    The services you’ve mentioned are all pretty low compute impact, just bandwidth, so I’d expect your MBP to be fine. Transcoding for jellyfin is the only real wildcard, and that depends on your media and client setups. I run pihole, homeassistant, immich, and kodi on a raspberry pi 4 with plenty of overhead for more services. NAS is nice if your library outgrows a single disk and your storage bandwidth gets choked by USB multiplexing.

    My suggestion is to consider a cheap VPS and vanity domain for external access. Domains cheap as $5/year; fair VPSs cheap as $30/year. Use SSH to forward localhost ports on the VPS to container ports on the MBP, then nginx on thee VPS to reverse-proxy to those forwarded ports. You get unique names for every service, LetsEncrypt certificates, and an offsite location for critical backups. Make sure you are the one paying for VPS & DNS so they don’t get surprise-cancelled.

    • puck@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Thank you, I’ll look into VPS, that’s new territory for me.

      Re transcoding on Jellyfin. Yes that’s something I have considered. A lot of my media is x265 10-bit 1080p stuff, decent quality but not huge lossless blu-ray rips. I stick to encodes that are about 4-8gb a movie. Clients connecting to the server are a couple of laptops and two smart tvs using the native Jellyfin apps. So far I’ve only run into issue with things like AV1 files or very large 4k rips that won’t play on smart tv, mkvs play fine.

  • fin@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    Macbook Pro should work fine. Buy extra PCs if you it’s not enough for you. Also, I recommend buying a domain from a legit provider

    • poVoq@slrpnk.net
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      If they are using ChatGPT to “solve” networking issues, then it is probably better to never expose the network to the outside 🫠

      • JasSmith@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        ChatGPT can be surprisingly useful when tackling the endless bugs and weird and unexpected differences on each Linux distro. I think you’re missing out. It shaves off 30-40% of the time it takes me to arrive at the right solution. It’s obviously not omniscient, but it provides a lot of ideas which I had not considered. Usually one of those paths works.

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 month ago

    Add storage via good USB hub or use a multi-bay storage box later on. The have built-in hubs. E.g. Terramaster or OWC Mercury Elite Pro.

    For the highest possible resource utilization and security support beyond Apple’s, you could try installing Linux and using Docker containers for everything. You should be able to run quite a few services.

    The next best option resource-wise is to run a large Linux VM and docker containers inside it. The Docker for Mac setup does exactly that. This is how we solved running a complex and resource hungry tech stack locally for development at a past workplace.

    Then come running services in multiple VMs.

  • Paddy66@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 month ago

    You can use Tailscale to access your stuff from outside the house.

    There’s also a self hosted open source alternative but I’ve forgotten what it’s called.