Skip to main content

VMware ESXi, vSphere, Workstation and Fusion

The OVA is made for VMware. Deploying it asks for its properties - a hostname, your SSH public key, a password and an optional cloud-config - and the first boot reads them, so no seed ISO is needed. The same file opens in VMware Workstation Pro and VMware Fusion Pro.

Before you start​

  • One of these, at this version or later:
    • ESXi 7.0 Update 2, managed through vCenter Server 7.0 Update 2 or on its own through the ESXi Host Client. The OVA asks for virtual hardware version 19, which is where it starts.
    • VMware Workstation Pro 17 on Windows or Linux.
    • VMware Fusion Pro 13 on a Mac with an Intel processor. Apple Silicon Macs (M1 and later) run ARM machines only and cannot run the amd64 image.
  • Room for the machine: 2 vCPU and 4 GB of memory, and 40 GB or more of disk, as Hardware describes. The OVA asks for exactly that.
  • A network the machine can reach the internet from, and you can reach it on.
  • Your SSH public key: the one line in the .pub file, such as ~/.ssh/id_ed25519.pub.
  • The file: the OVA, antelao-ohm-<version>-amd64.ova.

Download​

Download the OVA from the table on the overview page, then check it before you deploy it. Run this in the folder you downloaded it to:

curl -fsSLO https://packages.antelao.io/raw/cosign.pub
sha256sum cosign.pub
curl -fsSLO https://images.antelao.io/ohm/stable/0.23.0/SHA256SUMS
curl -fsSLO https://images.antelao.io/ohm/stable/0.23.0/SHA256SUMS.sig
cosign verify-blob --key cosign.pub --signature SHA256SUMS.sig \
--insecure-ignore-tlog=true SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS

Verify the download says what must come out right, and how to check on Windows or a Mac.

Import​

vSphere Client (vCenter Server)​

  1. In the vSphere Client, right-click a data center, cluster or host and choose Deploy OVF Template.
  2. Select an OVF template: choose Local file, click Upload files and select the OVA.
  3. Select a name and folder: name the machine, for example odoo-1, and choose its folder.
  4. Select a compute resource: the host or cluster it runs on.
  5. Review details: the publisher and the size. The OVA is not signed with a certificate vSphere knows, which the page may point out; the checks under Download are what prove the file is Antelao's.
  6. Select storage: the datastore, and Thin Provision as the virtual disk format unless your storage policy says otherwise.
  7. Select networks: map VM Network to the port group the machine should be on.
  8. Customize template: the OVA's properties. The next section fills them in.
  9. Ready to complete: check the summary and click Finish.

ESXi Host Client (a host without vCenter)​

The Host Client cannot upload an OVA this large in one piece, so you give it the OVA's two parts. An OVA is a tar archive; this command unpacks it on Windows 10 and 11, macOS and Linux:

tar -xf antelao-ohm-<version>-amd64.ova
  1. In the Host Client, open Virtual Machines and click Create / Register VM.
  2. Choose Deploy a virtual machine from an OVF or OVA file.
  3. Name the machine, then select the .ovf and the .vmdk files together.
  4. Choose the datastore, then under Deployment options map the network and choose Thin disk provisioning. Clear Power on automatically if you want to grow the disk first.
  5. Additional settings: the OVA's properties. The next section fills them in.
  6. Check the summary and click Finish.

VMware Workstation Pro and Fusion Pro​

  1. Workstation Pro: choose File > Open and select the OVA. Fusion Pro: choose File > Import and select the OVA.
  2. Name the machine and choose where its files go.
  3. Fill in the OVA's properties, which the import shows, as the next section describes.
  4. Click Import. Converting the disk takes a few minutes.

If your version shows no properties, the import still works: give the machine your key on a seed ISO instead, as the next section shows.

Give it your SSH key​

The OVA's properties​

The properties page shows five fields:

PropertyWhat to enter
Instance idLeave it as it is. A new value makes the first boot treat the machine as a new one
HostnameThe server's DNS name, for example odoo.example.com. Empty keeps the machine's own name; a rename changes it later
SSH public keyYour public key, the whole line from the .pub file. The user debian signs in with it
Cloud-config (base64)Optional. A cloud-config, base64-encoded, for example one that writes the bootstrap document to /etc/antelao/bootstrap.json
Password for 'debian'Optional, for the machine's own screen only. SSH keeps refusing passwords, so the key is what you sign in with

To fill in Cloud-config (base64), write the cloud-config to a file and encode it on one line:

base64 -w0 user-data # Linux
base64 -i user-data # macOS
[Convert]::ToBase64String([IO.File]::ReadAllBytes("user-data")) # Windows

The seed ISO builder writes a cloud-config you can start from: build a seed, open What is on the disc, and copy its user-data.

A seed ISO, where the properties are not offered​

  1. Build seed.iso with the seed ISO builder on the overview page.
  2. Before the first start, add a CD/DVD drive with the seed in it:
    • Workstation Pro: VM > Settings > Hardware > Add > CD/DVD Drive, then Use ISO image file with seed.iso, and Connect at power on ticked.
    • Fusion Pro: Virtual Machine > Settings > Add Device > CD/DVD Drive, then choose seed.iso as the disc image, and make sure the drive is connected.
    • ESXi and vSphere: upload seed.iso to a datastore, then in Edit Settings add a CD/DVD Drive with Datastore ISO File and Connect At Power On ticked.

No seed? The machine's own screen shows the console address and a one-time sign-in code after the first boot.

Start it and wait for the first boot​

To give the machine more than 40 GB, grow Hard disk 1 in its settings before the first start; the first boot uses the space. Then power it on and open its console: Launch Web Console in the vSphere Client, Console in the Host Client, or the machine's own window in Workstation and Fusion.

The screen shows the usual Linux boot messages, then a login prompt. The vSphere Client and the Host Client show the machine's address on its summary once it is up; in Workstation and Fusion, look among the boot messages for cloud-init's table of network devices, its lines starting with ci-info.

The login prompt appearing does not mean the work is done. The first boot installs the server in the background, which takes about 10 minutes, longer on a slow connection or slow storage. Sign in over SSH meanwhile and the login message says how far it is.

Reach the console​

Sign in over SSH as debian with your key, using the machine's address or its DNS name:

ssh debian@odoo.example.com

Once the first boot is done, the login message shows the console's address. Read the administrator's first password:

sudo cat /root/antelao-ohm-handoff.json

Then open the console through an SSH tunnel from your own computer, which opens no port on the machine:

ssh -N -L 5322:127.0.0.1:5322 debian@odoo.example.com

Browse to https://localhost:5322/ and accept the self-signed certificate once. From here, carry on with the installation page:

  1. Check the server
  2. Reach the console
  3. Sign in and finish the setup
  4. Create your first instance

Platform notes and troubleshooting​

  • The deployment refuses the virtual hardware version. The host is older than ESXi 7.0 Update 2. Update it, or deploy on a newer host.
  • The key did not arrive. SSH refuses debian although the properties held your key. Check that it is the public key, on one line. If it was, deploy the machine again, this time with a seed ISO attached before its first start.
  • The properties of a running machine. On vSphere they stay under Configure > vApp Options. Changing them later changes nothing: the first boot has already read them. Rename the server with a rename instead.
  • VMware Tools. The image carries open-vm-tools, which is also how the first boot reads the properties. There is nothing to install.
  • Workstation and Fusion networking. NAT reaches only your own computer. Choose Bridged under the network adapter's settings when other machines on your network should reach the server.
  • Apple Silicon. Fusion on an M-series Mac refuses the machine: it cannot run amd64 systems. Use another host.
  • Nothing reaches the server from the internet. Ports 80 and 443 must reach the machine before Let's Encrypt can issue certificates for your instances. Keep the console's port 5322 closed.
  • The first boot failed. The login message says FAILED with the reason. See What the first boot does for how to run it again.