this post was submitted on 16 Sep 2024
26 points (93.3% liked)

Selfhosted

40006 readers
538 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
 

Quick overview of my setup: Synology NAS running a whole bunch of Docker containers and a couple of full blown VMs, and an N100 based mini PC running Ubuntu Server for those containers that benefit from hardware acceleration.

On the NAS I have a Linux Mint VM that I use for various desktoppy things, but performance via RDP or NoMachine and so on is just bad. I think it's ultimately due to the lack of acceleration, so I'd like to try running it from the mini PC instead but I'm struggling to find hypervisor options.

VirtualBox can be done headless, apparently, but the package installed via Apt wants to install X/Wayland and the entire desktop experience. LXC looks like it might be a viable option with its web frontend but it appears to be conflicting with Docker atm and won't run the setup.

Another option is to redo the machine with UnRaid or TrueNAS Scale but as they're designed to be full fledged NAS OSes I don't love that idea.

So what would you do? Does anyone have a similar setup with advice?

Thanks all!

Edit: Thanks for everyone's comments. I still can't get LXC to work, which is a shame because it has a nice web frontend, so I'll give KVM a go as my next option. Failing that I might well backup my Docker volumes, blat the whole thing and see what Proxmox can do.

Edit 2: Webtop looks to be exactly what I was looking for. Thanks again for everyone's help and suggestions.

top 39 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 1 month ago (2 children)

Proxmox is sort of the gold standard for homelab server operating systems. Runs containers and VMs.

If you’re not into Proxmox, look into Fedora Server with Cockpit. Web UI for server management. Fedora CoreOS is an immutable variant of Server that would make more sense for a hypervisor, IMO.

[–] [email protected] 1 points 1 month ago

I've been stung too many times by truenas scale and truecharts breaking things so I just redid my entire server set up switching from truenas scale to fedora server 40 with podman and cockpit and it's a bit tricky with selinux but it's been WAY better.

I'm running a few arrs and jellyfin, as well as a vm for home assistant.

[–] [email protected] 7 points 1 month ago* (last edited 1 month ago) (1 children)

I say go with proxmox on the n100 (I use it), there are alternatives kvm/QEMU managers that I heard good things about as well (namely Incus https://github.com/lxc/incus )

[–] scottmeme 2 points 1 month ago (1 children)

The ) at the end of the url is breaking it and sending me to a 404 page

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

That would seem to be a failure of your client's or instance's Markdown parsing. The link works correctly from Mbin.

[–] scottmeme 1 points 1 month ago (1 children)

It wasn't in a markdown format, also I'm on jerboa

[–] [email protected] 1 points 1 month ago

well, if whatever code automatically turns plaintext links into hyperlinks isn't Markdown related, then it's still the instance or client you're using that has the problem. before they edited the trailing space in, it was working correctly on my end. You should consider looking into it and filing a bug.

[–] [email protected] 4 points 1 month ago (1 children)
[–] [email protected] 3 points 1 month ago

Yes, big fan of XCP-ng, we use it extensively in work, but I'm not convinced it's my best option in this case.

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

You want KVM.

But I'd check the performance on the NAS first. They're not really built for VMs so you might be missing hardware features, but I'd check resource usage to see if you're maxing anything out. And try reducing resolution, color depth, etc. to make it easier.

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

Well indeed, that's why I want to move the VM off the NAS and onto something with some hardware acceleration. Are there any remote frontend options for KVM?

[–] scottmeme 4 points 1 month ago

Proxmox has a full webui with almost every feature you could want, except for some more advanced zfs features

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

Virtual Machine Manager is what you're looking for I think

[–] [email protected] 3 points 1 month ago (3 children)

Should ask what platform here, IMO: virt-manager is Linux-only. (Or, I suppose, doing remote X stuff to run it elsewhere but that's probably not what OP is after.)

There's some command line stuff you can run on Windows, but then at that point, you can just use virsh on the host itself.

I'm of the opinion that virsh to manage and then a spice or vnc client to access the VMs is the "best" way to go so you're not tied down to having to have a specific OS running a specific tool in order to do any admin stuff, since I mean, after you deploy how often are you screwing with the VM settings?

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

Good point about platform agnostic remote for management stuff. VNC is ideal for this.

And systems like Proxmox use a web GUI for most stuff, it's a touch slow but I think that's mostly just waiting for the system to finish the actual changes I make, and not the UI.

[–] [email protected] 2 points 1 month ago

VNC is not really ideal for anything. For actual desktop usage you want RDP or sunlight/moonshine

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

There's also Cockpit if you just want a basic UI

[–] [email protected] 1 points 1 month ago

I've never liked web UIs that have that level of permissions to screw around with the OS it's hosted on.

Maybe that's just some grumpy greybeard thing, but I'd really rather not have a single management plane that has full access to EVERYTHING, since that just feels like you're one configuration oopsie away from some guy in Albania (<3 you, Albania) uploading all his hentai to your server and then trying to hack the FBI or some shit. (Or, you know, the much more boring oops-i'm-a-zombie-now outcome.)

[–] [email protected] 1 points 1 month ago

You can run virtual manager on other platforms but some features will be missing

[–] [email protected] -4 points 1 month ago (1 children)
[–] [email protected] 1 points 1 month ago (1 children)
[–] [email protected] -2 points 1 month ago* (last edited 1 month ago) (1 children)

Why would this person want KVM? They don't need anything a full VM provides, they're just trying to run many services easily on a single host.

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

They already have several VMs, containers, and want a full desktop on one. If it sounded like going down to one physical server would be appropriate, I would have recommended it. But condensing whatever they've got now would be a huge pain, especially if they find out it doesn't work and they have to start over and go back to VMs and containers.

[–] [email protected] -4 points 1 month ago (1 children)

See your own answer for why that isn't needed.

[–] [email protected] 5 points 1 month ago (1 children)

It's not needed because it's currently mostly working for them? You're going to need to use full sentences if you want to communicate, I'm afraid.

[–] sugar_in_your_tea 3 points 1 month ago* (last edited 1 month ago) (1 children)

I've heard good things about Proxmox, but I have no direct experience with it. That would be a separate box that manages the VMs and everything, and it has a remote GUI option (webpage I think?).

If you want something on an existing box, just use KVM directly, or a simple frontend like GNOME boxes. I don't know about remote configuration, but once it's set up, do you really need to check in on things remotely? KVM will do hardware acceleration (definitely CPU acceleration, GPU if you configure it properly), and it has no GUI by default.

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

It uses some form of VNC (forget the name). Performance is fine for the VMs for non-video stuff.

You can run whatever you want inside a VM too.

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

I typed it like that with the slim hope that someone would misinterpreted it, lol.

[–] [email protected] 2 points 1 month ago

Look into libvirt with vGPU acceleration

[–] [email protected] 2 points 1 month ago

If you don’t want to go to a proper VM solution like Proxmox or TrueNAS, Mint is still on X so you can SSH into it and run graphical apps through it. Runs remarkably well.

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

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

Fewer Letters More Letters
NAS Network-Attached Storage
SSH Secure Shell for remote terminal access
VNC Virtual Network Computing for remote desktop access

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

[Thread #976 for this sub, first seen 17th Sep 2024, 11:25] [FAQ] [Full list] [Contact] [Source code]

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

You're overthinking this. You don't need an actual VM for services. Containers are fine. If you're worried about security, go down the Katanor gvisor rabbithole, but you definitely don't need an entire OS and VM running for simple services.

There's no reason containers can't be hardware accelerated. I'm confused by what that statement means.

[–] [email protected] 3 points 1 month ago (1 children)

I'm using plenty of containers, accelerated and otherwise, but I also want a full-blown desktop that I can access from wherever. Even on a wired LAN, streaming that desktop is slow and laggy when it's hosted on my NAS, which I think is due to the lack of hardware acceleration on that system. I want to move the VM to a host that has that feature (currently running Ubuntu Server) but I need a hypervisor that doesn't require its own desktop system to be installed in order to manage it.

Plenty of good replies here to help me though.

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago) (1 children)

Give webtop a try? Granted I haven’t tried anything heavy on it, but it’s been performant enough for me. Here’s a compose file if it stays formatted correctly:

services:
  webtop:
    image: lscr.io/linuxserver/webtop:latest # alpine - xfce
    # other tags with different bases and desktops: https://github.com/linuxserver/docker-webtop
    container_name: webtop
    #security_opt:
    #  - seccomp:unconfined #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
      - TITLE=my_desktop #optional
    volumes:
      - config:/config
      #- /var/run/docker.sock:/var/run/docker.sock #optional
    ports:
      - 3000:3000
      - 3001:3001
    restart: unless-stopped
volumes:
  config: {}
networks: {}
[–] [email protected] 1 points 1 month ago

Mind officially blown! I've just spun up a Debian KDE instance and it's running beautifully. Exactly what I wanted, thank you!