Installing StartOS on Virtual Machine Manager (virt-manager)

How to install StartOS on virt-manager

(for testing new packages without access to a physical Embassy)


  1. Download and install virt-manager
  2. Download the latest StartOS ISO from Github
  3. Open virt-manager
  4. Click “create a new virtual machine”
  5. Choose “Local install media” and click Forward
  6. Click Browse and choose the ISO that you downloaded
  7. Uncheck “Automatically detect”, and choose Ubuntu 22.04 LTS for your OS. Other versions of Ubuntu will probably work, as well as Generic Linux. Click Forward.
  8. On the next two pages, choose the resources you would like to allocate.

Minimum OS Requirements

  • Single vCPU Core 2Ghz
  • 4GB RAM
  • 64GB Storage (32GB will also work if you’re just doing package development)

Recommended OS Requirements

If you intend to run Bitcoin or store any meaningful amount of data, you will need

  • Quad-Core CPU 2.5Ghz+
  • 8GB+ RAM
  • 1TB+ Storage



  1. Give the machine a meaningful name and click Finish
  2. The VM will open up. Select install embassyOS with your keyboard and hit ENTER
  3. After a few seconds, a browser window will appear inside the VM. Click the disk (the only disk that will exist is the one you created for the VM) under Select Disk, and then click Install embassyOS.
    You will get a warning that you’re about to erase the disk - that’s fine, there’s nothing on it.
  4. You’ll get an Install Success popup. Click Reboot.
  5. After the reboot, the browser in the VM will show the setup page. If you’re installing for package development, click Start Fresh.
  6. Select your only storage drive on the next screen.
  7. Choose a password and click “Finish”.
  8. Success! EmbassyOS is now installed on your VM. It runs inside a browser window!
    Click to login. (You’ll be prompted for your password.)
  9. To begin package development, follow this guide.
  10. Once you’ve created an S9PK that you’d like to test, inside embassyOS click System in the sidebar, and then click Sideload Service under Manage. :warning: When I finish networking my VM, I’ll write that up so that sideloading is possible. If anyone else has a writeup for this, I’ll include it.

This is awesome, thank you so much for this guide, Spencer!

One thing I would mention, this is a perfect setup but there’s a quirk, if you happen to cancel out of the install, for some reason, it won’t boot the installer again until you do this:

  1. Right click the VM and go to Open
  2. Click the light bulb :bulb: to configure the VM
  3. Go to IDE CDROM 1
  4. Under Source Path, click Browse
  5. Under final, select eos-0.3.x-xxxxxxxx_amd64.iso, and click “Choose Volume”
  6. Click Apply
  7. Go to Boot Options
  8. Enable IDE CDROM 1 and position it above IDE Disk 1
  9. Click Apply

Now you can happily boot the installer even if you accidentally canceled out of it the first time, or want to reinstall. Just remember to also demote IDE CDROM 1 from the boot order after your initial setup.

1 Like

Hey @George , I wanted to come back and finish this post today, but I can’t edit it now.
I just want to tie off the LAN cert setup and sideloading.

I’d indended this to be a complete post that I could just send around. If I’m locked out of editing, I’ll have to delete and start over. If that’s unavoidable, then lemme know. :slight_smile:

You should be able to edit posts, and it shows that you have made edits to posts previously. I’m trying to see if there’s a rate limit, but not seeing anything on my end. Are you getting an error or message regarding this? Maybe we should move to a chat

The other day I found a message board that said (I believe) that by default Discourse allows editing only for 5 hours after the original post. (Presumably to cut down on people going in to popular posts and adding spam after the fact.)

Created this tutorial, which adds a bit more context to the above:

Hey there - your .iso link is broken - I’d recommend using the latest tag URL →

Having the complete node with embassyOS run as a virtual machine is a cool idea. I would like to do this for my full node implementation. It would keep the host machine usefull for some other tasks.

I do have some questions and concerns mostly on the networking part. Do I need to bridge the virtual machine to make it connect to the internet and do its job as a full node? If so, I could use the KVM bridge or the passthrough (less isolated) what would you suggest?

A very different way could be to have the node run in a docker container, what would be the pro’s and cons of that? I have almost zero know-how on docker so it may be very bad idea.

We would recommend using standalone hardware for your server, as it is intended to run 24/7/365. If you don’t have that option, or if you’re just doing some testing, then a VM is a great option.

You may need to bridge the network.

You can think of StartOS as an Operating System that orchestrates containers. Currently all services run in docker containers (although the system is modular and in future will be able to use other containerization options as well). So if you use this, you actually will be running docker, and in a much simpler way than having to learn it all yourself.

1 Like

At first i thought to set-up the mini-pc for being a full node only. Along the way it came to mind it migh tbe strong enough to have a dual task as it has 6 cores, 16 GB of RAM and 2 TB nvme SSD. But you are right it is wiser to have it commit 100% to being a full node.
I do wonder if it would be possible to do KVM tier-1 virtualization and have the best of both options (all ubuntu stuff and usb-ports and extra dives working) and a stable full node that is very close to a
bare -iron install?

If you would like expanded functionality, we would recommend using Proxmox or TrueNAS as your base system

Hi Dave,
I went for the direct install on iron in the end. It may be a bit wastefull of resources but at least it helps with debugging if there are issues with the set-up.; not having to deal with the extra complexity of a virtual machine.

1 Like

@Spencer I updated your github link to always reflect latest

Running an EmbassyOS VM on proxmox and everything is going smoothly. I see some major benefits to running it on something like ProxMox. The ability to create snapshots and backups incase anything every goes wrong with the container. Biggest reason is the ability to ramp up resources during initial bitcoin sync. I created the VM with incredibly overkill specs. This lowered the initial sync time to less than one day probably around 12-14 hours.
-32Gb ram
-8C/16T CPU
-disk file on nvme raid disk space

Once the initial sync was finished and I installed any other apps that require long sync times I was able to tune the VM to lower specs(still overkill probably).


Hi Spencer, thanks for the guide. Just wanted to let you know that your 1st link is broken.

  1. Download and install virt-manager leads to a 404 page as the link is but it should be Virtual Machine Manager with a .html at the end.