I’m wanting to run my own SimpleX chat server and set up a Monero node as well.

Can this be done on the same machine? I was considering getting a mini PC to do this so it wouldn’t be too much of an issue with it being always on.

Or should I take a different approach and set up both separately on two different machines like a raspberry pi or something?

As I’m sure you can tell I don’t have a lot of experience with self hosting anything but want to get into it to help strengthen the networks of these communities I care about.

  • Get a barebones mini-PC (no OS so you aren’t paying for a wasted license) to install Linux. Bring questions to the community (after doing your due diligence to show that you put in some effort on your own by asking questions that show that you’re trying). People are generally pretty willing to help out. Start with figuring out which distro is the right fit for you. Check out r/homelab and other homelab resources.

    If all this is too overwhelming, take other advice from someone who makes a better pitch than I did. Good luck and welcome to the hobby that is known to take over your free time and money in a deeply enjoyable way. Cheers!

  • I would recommend buying an ugly corporate desktop PC on EBay or similar. When companies do mass layoffs, or move offices, they often deem it cheaper to just sell off everyone’s workstation wiped on EBay or whatever. You can get a SOLID Intel workhorse of some sort for probably literally less than a Pi. Yes, it will use more power, but like, you’re planning to run multiple services on this and a desktop PC is often surprisingly upgradeable, even with shitty office towers, because the high end and low end model use the same motherboard, so you have plenty of room to upgrade non-processor components. You can probably find a great no OS included box for like $200 tops shipping included, if not half that.

  • Cheapest? Use someone else’s hrdware (or “borrow” it) and set it up at work/school/friend’s house/cafe. Free hardware, free connectivity, free electricity.

    More seriously, set everithing up on whatever spare old computer you have at hand (or use a vm running on you pc). You should not start with buying hardware.

      • Yes, and computers people have laying around are most probably not outdated enterprise servers that draw 120w at idle :)
        (if anything, that’s something a newbie self hoster may buy since they are cheap and look cool)

  • It’s possible to run multiple services on the same machine, and actually it’s most often done that way, yes. To keep it all more portable and maintainable, people often use containerization software (like docker with docker compose). It has lower overhead than running VMs.

    If you start hosting multiple services that have a web interface, you will probably want to look into a reverse proxy software, which is basically a web server that handles TLS uniformly and sorts your HTTP services to subdomains. The Apache web server is agood example.

    Prepare yourself to the need of editing text files and using the linux shell, often through SSH. Most often the text files will not need to change after having it set up properly. These text files and tge linux terminal are much more friendly in my opinion than the windows registry and the windows cmd terminal, so don’t let that discourage you.

    •  jet   ( @jet@hackertalks.com ) 
      link
      fedilink
      English
      21 day ago

      ^^^ agree 100%

      Additionally, I would recommend not buying any hardware right now. Just experiment with containers, or even virtual machines. Once you get a feel for how you want the system to work. Then you can look to offloading it to some low power device. But I would put that a few months down the road.

      For what it’s worth a lot of people have a NAS, and that NAS also can run containers or virtual machines. TrueNAS/Synology, etc.

      • @BobGnarley@lemm.ee I personally started out with a wireguard server on a linux vm on my windows machine. a little config here, an open port there, done. Ok, the config even thought it is simple, it took some time to fully understand for the 2-sided meaning of AllowedIPs

        then bought a raspberry pi 4 with very little memory for more services. ran it from an sd card until it died, and from a too weak portable hard drive since. It’s quite slow. and swapping through USB seems to cause kernel panics every few months

        then built a server role computer as NAS from desktop parts, a 1st gen ryzen to be cheap but upgradable, ECC RAM and enterprise drives and no display, which runs Proxmox, a simpler debian VM for core services, and another one for the useful kinds of services in an attempt to minimize downtime. disks are in ZFS managed in the proxmox system, network sharing runs in a VM, the storage is passed in with virtiofs

  • I’m running two servers in two different locations on two i5 NUCs with USB-attached HDDs (blasphemy, I know) for storage and lots of Docker services. Its not super fast (e.g. Jellyfin) but good enough for me.