I want to get into self-hosting. I’ve done a bit of self-hosting before using a Raspberry Pi (pi-hole and Discord bots) but I really want to start self-hosting almost everything I can like I’ve seen many people here doing.

However, I’m not sure what kind of machine I should build which would be suitable for these purposes. I’ve never even built a PC before though my fiancee has and he will be able to help me…

Here are some services I’m thinking of self-hosting to start with:

  • AdGuard
  • OpenMediaVault
  • Bitwarden
  • Mastodon
  • Matrix

Eventually I would also like to host PeerTube, Kbin, Plex, and many other things…

What are the most important things I’ll need to consider with a self-hosting machine, and what I will need to upgrade over time as I self-host more services? Ideally I’d like a machine which is as energy efficient as possible too.

Also, is it a good idea to host so many services, both publically-accessible websites as well as services only available on my home network, from the same machine? What are the security considerations when self-hosting?

Any links/articles for me to read would be appreciated too!

  • philluminati@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    The first consideration is always your internet speed. If you’re building a pc then you’re self hosting from house. In many countries the internet is ADSL meaning the upload is very slow but the download is fast. However for hosting you need fast upload. You’ll need a fibre connection to stream video from home.

    I rent a server in the cloud to do self-hosting due to the subtle difference in my definition of hosting, being that I control the services and data they hold, not that they are literal hosted at home.

    Beyond that consideration I’d say everything else is trial and error and you should experiment.

  • Freeman@lemmy.pub
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I personally use Dell SFF 7040/7050’s. They can have up to 64 GB of ram, use NVME, and have PCIe slots for expansion while still being lower power and profile.

    That said, for a lot of public stuff, like this very instance, I use Linode.

  • abhibeckert@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I don’t think you need to build a computer for this. Just run Docker on whatever computer you have. A laptop is fine.

  • melroy@kbin.melroy.org
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Yes, it’s a great idea. And I also do it myself. In fact, I’m not only self host all my services. I also host them at my home.

    https://server.melroy.org including all the sub domains are all hosted on the same server.

    You can just use a good ryzen computer with enough ram (start with 32 gb or something). With enough storage. Redundancy via raid. I personally use Proxmox with an Ubuntu 22.04 VM. However bare metal may be also fine.

    Have fun!

  • Tinkerer@lemmy.ca
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    Use docker, I’m running 25 docker containers on my Nas, 6 of them which are internet accessible with 8gb RAM. You don’t need a massive server/machine that costs 300$ a year to run. Somw co tainera are Adguard, Emby, Guacamole, firefly, etc Learn docker and have fun!

  • Chat_mots@jlai.lu
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 year ago

    One think you need to check before is your upload speed. Without a good one, it will essentially be useless outside of your home.
    As for the computer, definitely buy something that can do virtualization, I’ve heard that some motherboard can’t (never seen one, maybe it’s an old thing).
    And last, even an old computer can be good for self-hosting, except the plex / jellyfin video, almost everything is static webpages with databases. You can upgrade later just by changing the components, add more storage… You can even copy your entire system to a new computer if you change entirely.

    Is it a good idea to host so many services, both publically-accessible websites as well as services only available on my home network, from the same machine?

    You can use Caddy’s reverse proxy to have easy https + not opening ports from your router and have something like plex.mydomain.com / mastodon.mydomain.com. And you’ll have no trouble hosting differents services from the same machines. I believe it is not a problem to have multiples services on the same computer.

    What are the security considerations when self-hosting?

    I’m not an expert, but never use the default password when installing a service. And keep your stuffs up to date. https is important too, but is often automatic when using a reverse proxy.

    If you have more question no problems :)

    • averyminya@beehaw.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      Wait, that’s awesome. I moved and my net network is CG/NAT so I have no port forwarding without a VPN. Will caddy allow me to get around that and actually use Plex remote?

      • Chat_mots@jlai.lu
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        I’m not sure about Plex, it is not really 100% self hosting, because authentication come from their server. You should try and see if it works. But their is no reason it should not. It’s just an addition in your caddyfile :

        plex.mydomain.com {
            reverse_proxy 192.168.0.123:32400 (your address:port)
        }
        

        However, i can assure you it works with Jellyfin.

        • averyminya@beehaw.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Thank you kindly! I’ll have to look into it and see but it sounds like it may be exactly what I’ve been looking for.