Home Server/Lab Project

Hey guys,

I’m playing with the idea of moving away from lots of online services that I use. The services I am thinking about replacing at the moment are, Dropbox and Lastpass. I am also planning on hosting a VPN and a Minecraft Server/game server. I am thinking about using Nextcloud to replace Dropbox and Bitwarden to replace Lastpass with a Keepass backup. Wireguard for a VPN.

My plan so far is to set up Proxmox and run everything in a VM. My questions are:

  • Is this a good idea? why is it or why is it not?

  • Would I need separate VMs for each thing?

  • Would containers work for this? or parts?

  • How would I go about securing the server so that I could access it from anywhere I want without a huge risk?

  • What should I work on learning before trying this?

  • What flavors of Linux should I look at for the servers? ( I know recommend for each seems to be centos or Ubuntu server as expected. Witch do you see more in the real world so I can get more familiar with it?)
    Is there a better way of doing all of this?

  • Should my hardware be able to handle it? How would I go about finding this out, just at up the min requirements what is best practice.

  • Any books/material recommended to get a good grasp of server security.

I am doing this as a series of projects to help me learn everything from Networking to Linux and to reinforce things I already know. Any other projects you can think of I would love to hear as well. I am doing this and studying for Comptia A+, Linux+ and Networking+ and studying python. Any thoughts about this are welcomed.

2 Likes

Do you work in the industry or just an enthusiast?

Its not a bad idea if you have time/money and think it will be a fun project for you.

You could run them all on one VM but its usually best to separate them within reason (some things make sens to run together)

Always a risk accessing remotely normal VPN stuff is decent, but you need to keep them current.

You could mess with setting things up on a box on your network if you wanted or use VMs on your main rig.

For servers people usually go centos or ubuntu server

Depends on load on each box for server requirements to be honest.

There are a lot of good books and youtube series on this, none that I would recommend specifically.

I want to work in the industry right now just an enthusiast.
Make sure to to keep it current and I guess best for requirements would be to to just try it and add more resources as needed.

Thank you for your answers.

If you have desires to go industry might want to go ESXI or HyperV as they are used more then Proxmox (honestly it doesn’t matter that much but I feel like i see more of those two then proxmox)

Esxi has a free license that allows up to 8 cores per vm

2 Likes

Alright I will look into that, ESXI more than HyperV, due to price.

I would look into jobs in your area and see if that holds true, but ESXI Probably is still the main one if you are self hosting (a lot of people are going to AWS and what not tho too)

That is a great Idea, I will do so. After a quick search on monster and jobs it seems to be vmware.

1 Like

Always helps to use at home what you might have to work on at work.

Doesn’t Esxi have something like a six months free trail without any restrictions?

no idea but a home gamer doesn’t need more then 8 cores per vm if you do then your not just using it for home things or you can just spin up another

I think it does but I haven’t tried it yet because the only machine I have that could use to spin up a virtual machine doesn’t meet the minimum requirements of Esxi. Which is the reason why my next build will either be Theadripper or a high core counted Ryzen.

I run on a e5-2683v3 i got from a member on here. Might be worth looking into some stuff like that . they have dropped a lot

I am hoping to get a couple servers that have. E5-2683v3 in them from my brother. Where my brother works they have decided to no longer to support Intel and to switch to AND exclusively. If my brother can arrange it, I will only have to pay shipping cost, which is a very good deal for me.

3 Likes

Disclaimer: I have (almost) no idea what I am doing. I am not an IT professional in any shape or form. Better don’t listen to me. :grin: To the experts: please correct me if I am saying something stupid.

Whatever you read in my post, take it more as an encouragement that even I, who at the time had maybe 1 year of experience with linux on a desktop, was able to make this work somehow.


It is a good idea as long as you are willing (and ideally have fun) setting everything up and maintaining it. Also if you want to host everything from home you should make sure that you have a good enough internet connection and that you can actually host there. A static IP would be ideal but not entirely necessary.

It’s not entirely necessary but I have separate VMs for Nextcloud/other web facing stuff and my internal backup and media server. Everything is behind a pfSense box.

I just read the docs of whatever software I wanted to run. Also I did a lot of experimenting before I really switched and completely depended on my jank af setup.

Honestly I have no idea. I am running fedora server on my box simply because I am using Fedora as my primary OS. So far it worked without a hitch (knock on wood).

It really depends on how many simultaneous users and devices you expect to have. Don’t tell anyone but I am running everything on a consumer Intel dual core from 4 years ago. I have 4-5 users and it seems to work well enough. (mainly Nextcloud, network file storage for backup and Emby for streaming video in my network)

Awesome! I think that will do easily. :grin:

  • Nextcloud has some really neat features besides only cloud storage, maybe take a look.
  • If you do more programming, maybe host your own git with Gogs.
  • Maybe do it like I and have your own local media server (Emby, Plex, …)
  • I would use all the spare compute time to run physics simulations, but that’s just me. :grin:
1 Like

There’s a bare metal version of hyperv that is free (or at least there used to be)

I agree and disagree.

IMO. Should try all the things. Learning how to basically use as many as you can. Also practice migrating/converting VMs between them.

I feel like you’ll get a better sense of how things internally work

Yes, there is a never expire version of HyperV I plan on installing it on my next build. The minimum requirements are way above my laptop, otherwise, I would be running that on my laptop instead of Windows 8.

I’m also an entusiast, I figured i would just toss in some starting advice:

  • All hardware is not the same when it comes to Virtualisation and Intel is the king. Realtek NIC for instance means unofficial drivers for EsXi. I learned about server hardware on the FreeNAS forum becose that is all they talk about.

  • Think abit about how you want to connect to your storage. And how to structure it sothat you dont end up adding a bunch of shares to a VM or Docker container
    With a single share the VM knows it is the same storage and can move the file. or it will all be copies, and that might lock up the app.
    However you dont want to end up piling it all together either incase you get a visitor.

  • Exsi wants to write to VM storage synced. If you are getting good write speeds you might not be writing synced.

  • Docker is great.

  • If you run a reverse proxy like NginX you can give it a single ssl certificate, Thus you wont need to set up ssl on every service you are running.

  • Fail2ban keeps the baddies out. And it can be used for more then ssh, like: htpassword or emby

I also think i heard something about EsXi remote web based management gui becoming free last year. But since i am not in the industry i never used EsXi enough to renember the names of things. So i hope someone else can help us with the name.

3 Likes

I think you are on the right track with your build. Proxmox is one of the easiest supervisors to use, and the web interface is easy to underestimate. Another killer feature is ZFS, which really is one of the best reasons to run Proxmox over some of the other options, especially on lower end or consumer tech. Like some others noted, Docker or other containers can be a great way to not over-allocate resources, like one would do with regular VMs. I think Debian is the best choice for deb-based distros, but there’s an argument to be made for the RPM distros.

I think that’s too many certs to do at once, hammer those out one at a time A>Network>Security>Linux

I had a very rough skim read through this thread and I would like to say that container’s are a better idea than a VM. Containers are similar to vm’s as they use the same infristructure in hardware to run but they only run the bare minimum required, saving resources and allowing you to run more on one system.

Now if you’re using one system with a small number of containers, docker is great. But if you’re using say 5+ individual container sets on multiple systems, kubernetes is amazing. Takes some time to learn but it’s a managed container service. So if say your next cloud or password manager dies, kubernetes notices and either replaces the pod with a backup pod or kills the existing pod and spins up a new one.

Last week a test environment I work with experienced hardware failure. Kubernetes realised there was an issue and in less than 3 minutes, it had grabbed extra hardware from aws and spun up a new node.

Kubernetes also manages ip tables for you so it makes things bloody easy

1 Like