this post was submitted on 28 Jan 2024
27 points (93.5% liked)

Selfhosted

39435 readers
2 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
 

At this point, I’ve got a lot of containers already running on my system, all in separate directories in my home directory. They’re each set up with a docker-compose file, and all of the volumes are just directories within those directories.

I don’t really want to change this setup, because it allows me to easily rip it all out and transplant it to a new system.

What I’d like is a web UI to see all of these containers, view their status, and potentially reboot them. It would also be great to be able to spin up VMs (not containers, but actual VMs) with it.

I’ve heard of Portainer, but haven’t had any experience with it.

What are your suggestions, and why do you recommend them?

top 32 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 9 months ago (2 children)

The answer is proxmox, not portainer

[–] [email protected] 4 points 9 months ago (1 children)

So first, I’m not really looking to change operating systems. I’ve got my system set up the way I like it, where it closely matches the production systems I run for my company.

Second, why do you say the answer is Proxmox? What benefit does that have over other solutions that can be more easily integrated into my existing operating system?

[–] [email protected] 5 points 9 months ago (2 children)

Not many UIs can do containers and VMs

[Sorry for my not really well written reply, you really need to try different options, and in my opinion proxmox is like the only choice because of how many cool things you can do there]

Proxmox I just really good, and if you want to spin up VMs easily you will need to reshape your setup anyway

With proxmox you can do like everything with VMs, containers, etc. Not just managing only containers, or just showing status of the VMs

Also, proxmox is not really an operating system, it's a service on top of Debian (in many cases you start installing proxmox by installing Debian)

[–] [email protected] 3 points 9 months ago (3 children)

Can proxmox do docker containers? Last I checked it could only do LXC

[–] [email protected] 3 points 9 months ago

Yo dawg, I put most of my services in a Docker container inside their own LXC container. It used to bug me that this seems like a less than optimal use of resources, but I love the management - all the VM and containers on one pane of glass, super simple snapshots, dead easy to move a service between machines, and simple to instrument the LXC for monitoring.

I see other people doing, and I'm interested in, an even more generic system (maybe Cockpit or something) but I've been really happy with this. If OP's dream is managing all the containers and VM's together, I'd back having a look at Proxmox.

[–] [email protected] 2 points 9 months ago

Yes it can, but not out of the box, and yeah, if you want the ui it will be that portainer again 😂

[–] [email protected] 1 points 9 months ago

I use Docker LXCs. Really just a Debian LXC with Docker and then Portainer as a UI. I have separate LXCs for common services. Arrs on one LXC, Nextcloud, Immich and SearXNG on another, Invidious on a third. I just separate them so I don't need to kill all services if I need to restart or take down the LXC for whatever reason.

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

Thanks. I did check it out and it looks like it’s got some really cool benefits, like being able to cluster across two machines and take one down if it needs servicing, with zero down time.

I’m thinking about buying some rack mount servers and bringing everything I’m currently doing in the cloud for my business to on-premises servers. The one thing I was wary about was how I was going to handle hardware maintenance, and this looks like it would solve that issue nicely.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

For the system itself I would recommend nixos

Some people like it, some people are against progress and they think work should be manual 🤣

I'm using nixos and all my machines, even integrating my phone in it

You can automate and replicate unbelievable stuff with it. You solve a bunch of problems by using nixos

But it's a whole big rabbit whole, and it would take a lot of time to learn how to use it, then a lot of time to set everything up

But you could do zero downtime hardware maintenance without VMs or containers, just by using bare metal

Edit: or with VMs, containers, or k8s. Everything would be just cleaner and cooler

[–] [email protected] 3 points 9 months ago (2 children)

Proxmox doesn't manage docker, it wouldn't do anything for OP.

[–] [email protected] 4 points 9 months ago (1 children)

Proxmox does VMs and containers (LXC). You can run any docker / podman manager you want in a container.

Benefits of having Proxmox as the base is ZFS / snapshoting and easy setup of multiple boot drives, which is really nice when one drive inevitably fails 😏

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago)

Yes but Proxmox doesn't manage docker, OP wants a webUI to see all their docker containers.

I agree running Proxmox as a base OS is the way to go, but you'll still need Dockge, Portainer, etc to have a webUI for docker stuff.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

Portainer doesn't manage VMs either

But at least you can do docker inside proxmox, and kinda manage it, or put something else on top of it

[–] [email protected] 10 points 9 months ago (1 children)

With docker containers I've moved from portainer to dockge. It lets you see the birds eye view, but also lets you directly edit the compose file from the UI. I haven't been using it very long, but so far I like it.

You will need to find something else for vms though. I use proxmox.

[–] [email protected] 1 points 9 months ago (1 children)

Looks interesting. How does it compare to portainer stacks?

[–] [email protected] 1 points 9 months ago (1 children)

It's a bit simpler than portainer, but I appreciate being able to edit the docker compose file directly rather than trying to find all the right buttons in portainer.

[–] [email protected] 1 points 9 months ago

Might give it a look, the UI for portainer is frustrating but I mostly use the stacks.

[–] [email protected] 8 points 9 months ago (1 children)

Give portainer a try. It's actually pretty good for getting a birdseye view, and let's you manage more than one docker server.

It's not perfect of course.

[–] [email protected] 3 points 9 months ago

Note that if you want actual virtualization then perhaps Proxmox (not sure if it manages multiple hypervisors - I haven't obtained something to test it on yet). Portainer is best for Docker management (it, and it's client agents, run as docker containers themselves. Don't forget to enable web sockets if proxying.

[–] [email protected] 8 points 9 months ago (1 children)

Portainer and Cockpit if you want to run VM (it also manage container but only with podman)

[–] [email protected] 4 points 9 months ago

Cockpit looks interesting. It’s got a lot of features I normally do with terminal commands, but the VM manager stuff looks like what I’m looking for.

[–] [email protected] 7 points 9 months ago

I tried portainer and it was overkill for my usage, too much overhead and too many features that I don't need.

Right now I'm using ajenti 2, which shows memory and CPU usage for the docker containers in the web page

[–] [email protected] 6 points 9 months ago (1 children)

If you're running a compatible OS (Debian will work), cockpit for VMs and whatever you like for containers.

Or just do everything on the command line like us crusty system admins

[–] [email protected] 1 points 9 months ago

Cockpit is great.

It's pretty simplistic. It gives you an overview of your system ressources and handles libvirt VMs and Docker (i think. I used it with Podman, but in this context both should work).

My impression was that the container and VM interfaces were pretty simple, and I wouldn't have liked it as my main interface for those services, but it would be perfect for getting an overview and restarting them!

[–] [email protected] 3 points 9 months ago

That’s not too easy methinks. You get kvm vm-s though gui/shell/api with proxmox, but no docker (they use lxc). Unless you set up a podman or similar inside it.

If you’re made of money there’s always https://www.vmware.com/products/vsphere/vsphere-with-tanzu.html

Other than that I’d say go with a xen (xcp-ng). Proxmox or esxi host, and spin up a vm as docker host.

I ditched docker in my latest setup, just running 2 machines in a proxmox cluster. I like lxc - as it’s got the footprint of docker and behaves like a vm

[–] MP3Martin 3 points 9 months ago* (last edited 9 months ago)

I don't think it can natively do VMs but I'm using CapRover to deploy Docker images on my server

[–] [email protected] 1 points 9 months ago (1 children)

Dockge or Portainer are both good options.

For VMs you'll need to find something else, you could use Cockpit for that.

[–] [email protected] 1 points 9 months ago

Thanks for mentioning Dockge, hadn't heard of it yet. Already use portainer but it seems a bit overkill for me and my few containers. Will try Dockge.

[–] [email protected] 1 points 9 months ago

What about incus, the LXD fork, with the webui? Incus is so simple/logical for managing both VMs and containers (and you can run docker inside of them) and the webui lets you manage it from a browser if desired

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

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
LXC Linux Containers
SSH Secure Shell for remote terminal access
ZFS Solaris/Linux filesystem focusing on data integrity
k8s Kubernetes container management package

4 acronyms in this thread; the most compressed thread commented on today has 11 acronyms.

[Thread #464 for this sub, first seen 29th Jan 2024, 16:55] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] -1 points 9 months ago (1 children)
[–] [email protected] 3 points 9 months ago

Nothing. I’ve been using SSH. I’d like to have both options, SSH and a web UI.