Installing Without Internet Access
Many Koios machines sit on a network with no route to the internet. That is a supported and common way to run it — but the ordinary install assumes the machine can download Ubuntu updates, Docker, and the Koios image, and none of that works here.
There are two ways around it. They are very different amounts of work.
Prefer the first where you can. It moves every step that needs the internet onto a machine that has it: at the site you create a virtual machine, point it at the disk and switch it on, with no packages to transfer and no dependency problems to solve in a room with no way to look anything up.
Option 1: Prepare a Virtual Disk
Build a complete, working Koios machine somewhere with internet. Shut it down, take its virtual hard disk, and attach that disk to a new virtual machine at the site.
Step 1: Build the machine online
On a computer with internet access and Hyper-V, follow the normal path in full:
- Creating the Virtual Machine — Generation 2, Secure Boot off, sized for the site it is going to
Two deliberate differences from the normal path:
Leave the address on automatic during the build. The site's addresses almost certainly differ from your build network, and you will set the real one after the move. You will not be able to reach the machine by its build address at the site anyway.
Before going further, confirm Koios actually runs here. This is the whole point of building it online — a problem found now is one you are not diagnosing at the site:
Browse to the build machine's address and check the login page loads.
Step 2: Shut it down properly
Wait until Hyper-V shows the machine as Off before touching the disk file.
Step 3: Copy the virtual disk
The disk is a .vhdx file, in the location you chose when you created the machine. If you did not change it, Hyper-V Manager shows the path under the machine's settings, on the hard drive entry.
Expect it to be large — Ubuntu, Docker and the Koios image together run to several gigabytes even on a dynamically expanding disk. It compresses well if your transfer medium is tight:
Copy it to an external drive, and expand it again at the site if you compressed it.
Step 4: Create the machine at the site
On the Hyper-V host at the site, create a new virtual machine exactly as in Creating the Virtual Machine, with one change at the end.
Then, before starting it, open the machine's Settings → Security and turn off Secure Boot, or set the template to the Microsoft UEFI Certificate Authority option — the same change you made on the build machine. Set the processor count to match it while you are there.
Start the machine. It should boot straight to the Ubuntu login prompt, with Koios already installed.
Step 5: Fix the network
This is the step people miss, and the machine looks broken until it is done.
The new virtual machine has a different virtual network adapter from the one you built on, so Linux may give it a different name — and any address configuration naming the old adapter then applies to an adapter that no longer exists.
At the console, check what the adapter is called now:
Then set the site's address using that name, following Changing the Address.
Use your own values
Enter your settings and the commands throughout the installation pages will show them instead of placeholders. They stay in this browser — nothing is sent anywhere, and nothing is saved to Koios.
Once applied, confirm it took:
You should now be able to reach the machine over SSH from elsewhere on the site network, and Koios in a browser at https://<your-server-ip>.
Step 6: License it
Now activate, on the machine that will keep running: Licensing Koios.
The activation file is generated on the Koios machine and the signed license comes back from the Ai-OPs portal, so you need a way to carry two small files between this machine and one with internet access. A USB stick is fine — they are a few kilobytes.
Deploying the same disk to several sites? A copied disk carries the original machine's host identity, so every clone shares its SSH host keys and machine identifier. For one site that does not matter. For several, regenerate them on each copy after first boot, or build each site its own disk.
Option 2: Carry the Files Across
Use this when there is no hypervisor to export a disk from — a physical machine, most commonly.
Ubuntu installs from its ISO without internet; the installer simply skips the update step. What it cannot do is install Docker or Koios, so you carry both in.
What to gather, before you go
On a computer with internet access:
The Docker packages must match both the Ubuntu release and the processor architecture of the target machine. A set built for a different release fails on dependencies, with an error naming a library rather than the real cause — so confirm what you are targeting before you ask for them.
Step 1: Install Ubuntu
Follow Installing Ubuntu as written, including the static address and Install OpenSSH server.
The install works without internet. Two screens behave differently: the mirror test fails, which is expected and does not stop you continuing, and the update phase at the end is skipped.
Step 2: Get the files onto the machine
With the machine on the site network and SSH installed, copy from your laptop — this is far less painful than a USB stick, and it is why the SSH tick matters:
If there is no route at all between your laptop and the machine, use a USB stick. Ubuntu Server does not mount it automatically:
Replace /dev/sdb1 with the partition lsblk showed for the stick, then copy the files out of /mnt/usb.
Step 3: Install Docker from the packages
dpkg does not resolve dependencies, so if it reports missing ones, the package set is incomplete or built for a different Ubuntu release. On a machine with no internet there is no way to fetch what is missing — go back and get a complete set for the right release.
Then confirm it works and enable it at boot:
hello-world downloads its test image, so without internet it fails at the download step and tells you nothing about Docker itself. sudo docker info is the offline equivalent: it should print the server version without error.
Step 4: Load the Koios image
Read what it prints — if it reports an image ID rather than a name, the image needs tagging. Getting the Koios Image covers that.
Step 5: Continue as normal
From here nothing is different: Running Koios as a Service, then Licensing Koios.
The service file refers to the image by name, so as long as the load step produced aiopinc/koios:latest, it starts without modification.
Updating an Offline Machine
Both options apply again at upgrade time, and the first one is much less work the second time around: build the new version online, and swap the disk.
For the file-transfer route, only the Koios image changes — Docker is already installed. Download the new archive from the portal, carry it across, docker load it, and restart the service. Updating Koios covers the rest.
Give the outgoing image a name of its own before you repoint latest, so you can roll back — see Getting the Koios Image.
What's Next
- Licensing Koios: activate the license on the machine that will keep running
- If the Install Goes Wrong: symptoms, causes and fixes
