this post was submitted on 30 Aug 2023
13 points (84.2% liked)

Selfhosted

40438 readers
489 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 2 years ago
MODERATORS
 

I have a server configuration to what i though would be best, and that is running a Debian, then installing a service i most frequently use, and use containers for other services. But, now i think that’s not a good solution and i’m looking for advice.

I thought of something like this:

Proxmox install Spin up a VM for this service that is currently running on Debian (can’t be in a container) Spin up a second VM, install Debian and Docker and install all other services as containers.

That would enable me to: a) backup the 1st VM to be able to deploy it if needed (backups) b) backup containers in the second VM so i can have them ready to be restored if needed

However, i’m not sure about setting it up like this. I’m worried if Jellyfin will work good as a container on a VM. Also, i’m worried about setting up nginx in a container on a VM, like, will it work as if installed on bare metal.

Other services i’m planning to run in containers on that 2nd VM are BookStack, Joplin, Mosquitto broker, Grafana, MariaDB, Influx DB, Studio Code, JellyFin, NectCloud etc.

The machine is a i3 1315U, 16GB RAM, 500GB SSD.

For the first VM i would allocate 2 cores and 4GB of RAM (that’s enough for what it does) and for the second VM (with all the containers) i would allocate the rest of the CPU and RAM.

Any advice is very welcome! Is proxmox still the best choice? Are there any other (better) choices? Is something obviously wrong with this setup?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 1 year ago* (last edited 1 year ago) (2 children)

In your scenario I don't think I'd use Proxmox as you're going to run into issues with lack of RAM. I think you're going to have issues running out of memory either way though. Running the whole machine as a Docker node would probably be more memory-efficient than having the overhead of running separate VMs under Proxmox.

NGINX should run fine as a container. There's even an official build available on Docker Hub.

[–] [email protected] 2 points 1 year ago (1 children)

I think you should be able to run containers directly on Proxmox, and have enough RAM to run one VM for the thing that can't be containerized.

[–] [email protected] 1 points 1 year ago (1 children)

That is also a fine approach, didn’t think of that. I never worked with Proxmox, and had no idea i can run containers directly on it. How would restoring a container work in that case?

Example, i purchase another machine, install fresh proxmox on it, can i simply restore the containers from the original machine without any additional configuration?

[–] [email protected] 4 points 1 year ago

The containers in Proxmox (LXC Containers) are a little different from Docker containers. You can't deploy Docker containers directly as LXC containers. You can, however, run an LXC container and install Docker on it, then run Docker containers there.

[–] [email protected] 1 points 1 year ago (1 children)

Am i getting this right:

Install Debian, setup a VM for the service (2gb, 2 cores) Install Docker on the same Debian OS, without virtualization, deploy containers?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I totally missed that you have an uncontainerized service. Can you run the service directly on the hardware host (safely)? If so, here's how I would probably run it considering your memory constraints:

  1. Install Debian
  2. Set up the uncontainerized service directly on the host.
  3. Install Docker directly on the host as well.
  4. Spin up the containers for everything else.

Not the cleanest/most separated answer but it would reduce the memory load of additional layers of host/VM/containers. If this isn't storing any sensitive data or being directly exposed to the internet that should be fine.

If you are dealing with sensitive data or exposing to the internet, I would consider your original plan of Proxmox VMs to separate everything but see if you can add additional RAM to help. Also consider installing something like fail2ban on every host and VM.