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
amd64image.
- 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
.pubfile, 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)
- In the vSphere Client, right-click a data center, cluster or host and choose Deploy OVF Template.
- Select an OVF template: choose Local file, click Upload files and select the OVA.
- Select a name and folder: name the machine, for example
odoo-1, and choose its folder. - Select a compute resource: the host or cluster it runs on.
- 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.
- Select storage: the datastore, and Thin Provision as the virtual disk format unless your storage policy says otherwise.
- Select networks: map VM Network to the port group the machine should be on.
- Customize template: the OVA's properties. The next section fills them in.
- 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
- In the Host Client, open Virtual Machines and click Create / Register VM.
- Choose Deploy a virtual machine from an OVF or OVA file.
- Name the machine, then select the
.ovfand the.vmdkfiles together. - 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.
- Additional settings: the OVA's properties. The next section fills them in.
- Check the summary and click Finish.
VMware Workstation Pro and Fusion Pro
- Workstation Pro: choose File > Open and select the OVA. Fusion Pro: choose File > Import and select the OVA.
- Name the machine and choose where its files go.
- Fill in the OVA's properties, which the import shows, as the next section describes.
- 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:
| Property | What to enter |
|---|---|
| Instance id | Leave it as it is. A new value makes the first boot treat the machine as a new one |
| Hostname | The server's DNS name, for example odoo.example.com. Empty keeps the machine's own name; a rename changes it later |
| SSH public key | Your 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
- Build
seed.isowith the seed ISO builder on the overview page. - 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.isoas the disc image, and make sure the drive is connected. - ESXi and vSphere: upload
seed.isoto a datastore, then in Edit Settings add a CD/DVD Drive with Datastore ISO File and Connect At Power On ticked.
- Workstation Pro: VM > Settings > Hardware > Add > CD/DVD Drive, then
Use ISO image file with
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:
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
debianalthough 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
amd64systems. 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.