Files
spinifex/docs/source-install/README.md
T
Ben Duncan 3d73dd180b fix: add dhcpcd-base to system dependencies for DHCP pool mode
DHCP pool mode requires dhcpcd-base (/usr/sbin/dhcpcd) to obtain
leases from the router. Added to Makefile install-system, setup.sh
binary installer, and source-install docs.

Closes: mulga-753
2026-03-25 12:05:21 +10:00

2.7 KiB

title, description, category, tags, badge, resources
title description category tags badge resources
Source Install Build Spinifex from source for development, custom builds, or contributing. Getting Started
install
source
development
source
title url
Spinifex Repository https://github.com/mulgadc/spinifex
title url
Go Downloads https://go.dev/dl/

Source Install

Build Spinifex from source for development, custom builds, or contributing.

Table of Contents


Overview

This guide builds Spinifex from source. For production deployments, the binary installer is recommended.

Requirements:

  • Ubuntu 22.04+ / Debian 12+
  • Go 1.26.1+
  • GCC, make, pkg-config
  • QEMU/KVM, OVN/Open vSwitch, AWS CLI v2, dhcpcd-base

Instructions

Step 1. Install dependencies

mkdir -p ~/Development/mulga && cd ~/Development/mulga
git clone https://github.com/mulgadc/spinifex.git
sudo make -C spinifex quickinstall
export PATH=$PATH:/usr/local/go/bin

Step 2. Clone and build

cd spinifex
./scripts/clone-deps.sh
./scripts/dev-setup.sh

Confirm ./bin/spx exists.

Step 3. Initialize

./bin/spx admin init --region ap-southeast-2 --az ap-southeast-2a --node node1 --nodes 1

Save the admin credentials printed during init.

Step 4. Trust the CA certificate

sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt
sudo update-ca-certificates

Step 5. Setup OVN

If your WAN interface is already a bridge (e.g. br-wan), setup-ovn.sh auto-detects it:

./scripts/setup-ovn.sh --management

If your WAN is a physical NIC, choose one:

# Dedicated WAN NIC (not your SSH connection):
./scripts/setup-ovn.sh --management --wan-bridge=br-wan --wan-iface=eth1

# Single-NIC host (SSH-safe macvlan):
./scripts/setup-ovn.sh --management --macvlan --wan-iface=enp0s3

Step 6. Start services

./scripts/start-dev.sh
export AWS_PROFILE=spinifex

Step 7. Verify

aws ec2 describe-instance-types

If this returns a list of available instance types, your installation is working.

Congratulations! Spinifex is installed from source.

Continue to Setting Up Your Cluster to import an AMI, create a VPC, and launch your first instance.


Troubleshooting

Go not found in PATH

export PATH=$PATH:/usr/local/go/bin

./bin/spx missing after build

./scripts/dev-setup.sh

CA certificate not trusted

sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt
sudo update-ca-certificates