--- title: "Source Install" description: "Build Spinifex from source for development, custom builds, or contributing." category: "Getting Started" tags: - install - source - development badge: source resources: - title: "Spinifex Repository" url: "https://github.com/mulgadc/spinifex" - title: "Go Downloads" url: "https://go.dev/dl/" --- # Source Install > Build Spinifex from source for development, custom builds, or contributing. ## Table of Contents - [Overview](#overview) - [Instructions](#instructions) - [Troubleshooting](#troubleshooting) --- ## Overview This guide builds Spinifex from source. For production deployments, the [binary installer](/docs/installing-spinifex) is recommended. **Requirements:** - Ubuntu 22.04+ / Debian 12+ - Go 1.26.1+ - GCC, make, pkg-config - QEMU/KVM, OVN/Open vSwitch, AWS CLI v2 ## Instructions ### Step 1. Install dependencies ```bash 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 ```bash cd spinifex ./scripts/clone-deps.sh ./scripts/dev-setup.sh ``` Confirm `./bin/spx` exists. ### Step 3. Initialize ```bash ./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 ```bash sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ``` ### Step 5. Setup OVN ```bash ./scripts/setup-ovn.sh --management --external-bridge --external-iface=enp0s3 --dhcp ``` Replace `enp0s3` with your WAN interface. ### Step 6. Start services ```bash ./scripts/start-dev.sh export AWS_PROFILE=spinifex ``` ### Step 7. Verify ```bash 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](/docs/setting-up-your-cluster) to import an AMI, create a VPC, and launch your first instance. --- ## Troubleshooting ### Go not found in PATH ```bash export PATH=$PATH:/usr/local/go/bin ``` ### ./bin/spx missing after build ```bash ./scripts/dev-setup.sh ``` ### CA certificate not trusted ```bash sudo cp ~/spinifex/config/ca.pem /usr/local/share/ca-certificates/spinifex-ca.crt sudo update-ca-certificates ```