Follow these instructions to use an ansible playbook to install FreeBSD

An ansible playbook is available at https://github.com/depenguin-me/depenguinme-ansible

It will very easily install FreeBSD-14.0 to a server booted into the rescue console.

Existing data on the disks will be destroyed when caution_wipe_disks=yes is set in the inventory.

🚀 This playbook automates the unattended bsdinstall process.

1. Clone the repo

git clone https://github.com/depenguin-me/depenguinme-ansible.git

2. Edit inventory/hosts

Edit the file inventory/hosts for your server's FQDN and ultimate username on the installed host. Set SSH keys.

3. Boot your server into the Rescue console

Your server must be booted into the rescue console before continuing.

4. Setup a python virtual environment

Create a python virtual environment

python3 -m pip install virtualenv
python3 -m venv .venv
source .venv/bin/activate
(.venv) .venv/bin/python3 -m pip install --upgrade pip
(.venv) .venv/bin/python3 -m pip install -r requirements.txt

5. Run the playbook

Provided your server is booted into the rescue console, you can run the playbook from your local computer:

(.venv) .venv/bin/ansible-playbook site.yml

6. Go get a refreshing beverage

Hydration is important, get something to drink while you wait for your server to become available in 10mins.

7. Connect to your host

Open a SSH connection to your host. (May require removing old keys in .ssh/known_hosts)

sudo su - to become root.


Success

As of 4 January 2024 this has been tested with two-disk and four-disk Hetzner servers, and conf_disktype= configured as mirror or raid10.

Failure

The playbook won't work on Xneelo because it finishes install before the rescue system times out. Server boots back into rescue console.

The playbook won't work on OVHCloud because exiting the rescue system is a manual process to set boot from disk.