Introducing Hoster
🚀 - FreeBSD's VM and Jail management framework that will make your life easier.
Whether you're an experienced sysadmin or just starting out, Hoster
has got you covered.
Built using modern, rock solid and battle tested technologies like Go, FreeBSD, bhyve, ZFS, and PF, Hoster
is a highly opinionated system that puts an emphasis on ease of use and speed of VM deployments.
Whether you're managing a small home lab or a large-scale production, Hoster
can easily accommodate your environment 🧑🏼💻
Here are some of the features you'll be able to use:
docker pull
, simply run hoster image download debian12
and it'll be ready for use in minutes (depending on your internet connection speed)To avoid any frustrations, here is the list of things NOT currently supported:
bhyve
flags are not supported - I want to make sure every flag introduced has it's own config optionbhyve
+Hoster
limitationsHoster
is too young to have any IaaC integrations at this point/opt/hoster-core
to work properly (there is some WIP to overcome this limitation, but it's not ready yet)bhyve
bhyve
doesn't support the live VM migration yetComing soon (or at least at some point 😄):
HAST
and OpenZFS
(sync vs. async replication)docker-compose.yaml
file location during the VM deployment (hoster vm deploy --from-docker-compose compose.yaml
) - it will be automatically picked up by docker
and executed in a background tmux
session (you can easily check if the docker
deployment was successful using the tmux a
command later on, when you SSH into the VM)Grafana
dashboardsPrometheus
integration - all VMs and Jails will be discovered and monitored automaticallyWireGuard
config generation based on your internal cluster topology, with the support for multi-tenancy and multiple cluster groupsTailscale
installation and configuration guide (specific to Hoster
), which will provide an easy way to access and manage your cluster and it's resourcesLazyHoster
(an interface similar to k9s
or lazygit
) - a CLI utility to control the whole fleet of machines over the REST API
(for the WebUI haters 😎)Hoster
in a Jail - this will allow to split a single hardware server into a multi-user isolated platform, with the ability to apply a highly granular control of just how much resources each user can utilize within their own, jailed, virtualization environmentYes. Part of the project roadmap includes the development of a WebUI. The WebUI will serve as a user-friendly interface to interact with the system and control multiple hoster nodes simultaneously. While currently not the highest priority due to time constraints, I am open to exploring this feature further with increased community engagement and potential investment.
Our paying customers already have access to an early version of the WebUI, that looks like this:
The main idea behind our WebUI is to keep things simple.
We are not aiming to be yet another XenSever/Proxmox feature clone: the WebUI will do basic things like managing and deploying new VMs, displaying monitoring information for the VMs and Hosts, managing VM snapshots, connecting to VNC, etc.
Everything else in terms of configuration and Hoster
management still happens on the CLI.
Icon | Meaning |
---|---|
🟢 | VM is running |
🔴 | VM is stopped |
🔁 | Production VM** |
🔒 | VM is located on the encrypted ZFS Dataset |
💾 | VM is a backup from another node |
** Only production VMs will be included in the start-all
, snapshot-all
, replicate-all
, etc
OS | State | Notes |
---|---|---|
Debian 11 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
Debian 12 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
AlmaLinux 8 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
AlmaLinux 9 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
RockyLinux 8 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
RockyLinux 9 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
Ubuntu 20.04 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
Ubuntu 22.04 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
Ubuntu 24.04 | 🟢 Ready | VM image is ready to be downloaded directly from our public image server |
RHEL 8 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
RHEL 9 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
RouterOS 7 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
Windows 10 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
Windows 11 | 🟡 Compatible | OS requires tinkering with the registry to disable the TPM checks |
Windows Server 19 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
Windows Server 22 | 🟡 Compatible | VM image will have to be built manually by the end user due to licensing issues |
FreeBSD 13 ZFS | 🔴 Not ready yet | VM image will be released on our public server at some point, but it's not ready yet |
FreeBSD 13 UFS | 🔴 Not ready yet | VM image will be released on our public server at some point, but it's not ready yet |
Fedora (latest) | 🔴 Not ready yet | VM image will be released on our public server at some point, but it's not ready yet |
OpenSUSE Leap | 🔴 Not ready yet | VM image will be released on our public server at some point, but it's not ready yet |
OpenSUSE Tumbleweed | 🔴 Not ready yet | VM image will be released on our public server at some point, but it's not ready yet |
OpenBSD | 🚫 NOT Compatible | The OS is trying to execute an obscure CPU/Mem instruction and immediately gets terminated by Bhyve |
Whether you need a quick start guidance, or a deeper dive into Hoster
's documentation, you can definitely do so by visiting this link:
Hoster Core Docs