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.
OP, I forgot to say! There are specific communities dedicated to self hosting and/or home labbing (eg. !selfhosted@lemmy.world), you may want to participate there
With the Monero node, keep in mind hard drive space. If you want the full block chain, it’s a bit over 200GB. But if you want the pruned chain, it’s like 70GB.
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.
This is how I got started. I found a decent refurbed Optiplex.
Yep, I’ve got a stack of 5-10 year old optiplexes (optiplexi?) running proxmox.
Yes. You can run them both on the same machine and it would probably be cheaper that way.
To minimize costs, besides looking at the cost of hardware, you’ll also want to consider the amount of electricity that the server uses with the memory and hard drives you have installed.
The Monero docs say it uses 100 GB or more bandwidth a month. You may want to look at the quality of service settings on your router to make sure that it’s not interfering with other uses of your network.
Plus the need to open ports on the home router and ensuring more than 100 GB won’t piss off the ISP.
And depending on your connection you’ll also need some kind of domain, dyn DNS and reverse proxy
It’s not clear that these services need any of these things.
3 GB / day is unlikely to go unnoticed upstream.
which isp does that?
Some are sensitive to upstream traffic, it really depends.
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.
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.
I wouldn’t say “any old computer”, power consumption on old boxes can be high. I have an old box that pulls 120w at idle, so it only runs a couple hours a day, at most, to replicate files.
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)
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!
A vps can be had for $10 a year. You gotta be smart about what you do and how you do it, but that neatly sidesteps some of the problems you’d run into when using your own hardware.
I started self hosting many years ago when the company I worked for got new workstations and sold the old ones for next to nothing. It was a very powerful machine but I payed the price every month in electricity. I am now running a bunch of services on 2 mini pcs (each was about $250 USD) with laptop cpus and my electricity usage is way down (like 45 watts for both machines, router, and switch).
There will be a steep learning curve, but I highly recommend learning docker (especially docker compose) and how to setup a reverse proxy. The self hosted communities are very helpful and can answer more specific questions as they come up.
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.
^^^ 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
well that mention does not work for whatever reason. Fantastic
Start with a miniPC between 250-350 dollars. That will get you a good start. If you need to add storage, you can always add via USB.