this post was submitted on 27 Sep 2023
33 points (94.6% liked)

Selfhosted

39939 readers
468 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hi. Since yesterday i selfhosted all my stuff with a raspberry pi and two odroids. Everything works ok, but after i read about a few apps that are not supported by the arm-architecture of the SBCs and about the advantages of the backup-solution in proxmox, i bought a little server (6500T/8GB/250GB) to try proxmox.

Installed proxmox, but now - before i install my first VM - i have a few questions:

a) What Linux OS do i take? Ubuntu Server?

b) Should it be headless?

The server is in the cellar of my house, so would there be any advantages of installing an OS with a GUI?

you are viewing a single comment's thread
view the rest of the comments
[–] moddy@feddit.de 4 points 1 year ago* (last edited 1 year ago) (4 children)

Yes, that is what i am used to.

I guess headless is better for performance and i do not see an advantage at all.

Another question: Why do you have several debians-vm's? You also could take one, right?

[–] towerful@programming.dev 6 points 1 year ago

I use multiple VMs, and group things either by security layer or by purpose.

When organising by purpose, I have a VM for reverse proxies. Then I have a VM for middleware/services. Another VM (or multiple) for database(s). Another VM for backend/daemon type things.
Most of them end up running docker, but still.

Lets me tightly control access between layers of the application (if the reverse proxy gets pwnd, the damage is hopefully contained there. If they get through that, the only get to the middleware. Ideally the database is well protected. Of course, none of that really matters when there's a bug in my middleware code!)

Another way to do it is by purpose.
Say you have a media server things, network management things, CCTV things, productivity apps etc.
Grouping all the media server things in a VM means your DNS or whatever doesn't die when you wiff an update to the media server. Or you don't lose your CCTV when you somehow link it's storage directory into the media server then accidentally delete it. If that makes sense.

Another way might be by backup strategy.
A database hopefully has point in time backup/recovery systems in place. Whereas a reverse proxy is just some config (hopefully stored on GitHub) and can easily be rebuilt from scratch.
So you could also separate things by how "live" the data is, or how often something is backed up, or how often something gets reconfigured/tweaked/updated.

I use VMs to section things out accordingly.
Takes a few extra GB of storage/memory, has a minor performance impact. But it limits the amount of damage my dumb ass can do.

[–] mhzawadi@lemmy.horwood.cloud 1 points 1 year ago (1 children)

I run a vm for each service, a php vm, a mysql vm, etc. But yes you could just have a big vm run everything

At that point why even run proxmox.

[–] grue@lemmy.world 0 points 1 year ago

Another question: Why do you have several debians-vm’s? You also could take one, right?

As I wrote in my other reply, you typically want a separate VM for each service so that the OS configurations don't conflict, and also so that you can shut down the VM for one service (e.g. for installing updates or migrating to another cluster node) without causing downtime to other services.