archy/BUILD-GUIDE.md
Dorian 337ebee510 Revise BUILD-GUIDE and enhance ISO build process
- Updated BUILD-GUIDE.md to streamline instructions for building the Archipelago Auto-Installer ISO, including prerequisites and post-installation steps.
- Added detailed sections on capturing the live server state and building from source.
- Enhanced Docker and Podman integration in build scripts for improved backend and web UI capture.
- Introduced new app metadata for "IndeedHub" in the Docker package scanner and updated UI components for better installation progress tracking.
- Improved styling and functionality in the Bitcoin UI for a more cohesive user experience.
2026-02-03 21:43:33 +00:00

2.8 KiB

Quick Build Guide - Archipelago Beta Release

Prerequisites

Make sure you have:

  • Docker or Podman installed
  • xorriso installed
  • Access to dev server: archipelago@192.168.1.228

Build Auto-Installer ISO

cd /Users/dorian/Projects/archy/image-recipe

# Capture current live server state
DEV_SERVER=archipelago@192.168.1.228 ./build-auto-installer-iso.sh

# ISO will be created in: results/archipelago-auto-installer-*.iso

What the ISO Includes

Complete Debian 12 root filesystem
Pre-built Archipelago backend
Pre-built frontend (web UI)
Nginx configuration (HTTPS ready)
Auto-installer that:

  • Detects internal disk
  • Creates partitions (EFI + root)
  • Extracts pre-built system
  • Installs bootloader
  • Reboots to working system

What Users Need to Do Post-Install

  1. Deploy Containers - The ISO doesn't include containers (too large)

    Example - Bitcoin Knots:

    sudo podman run -d --name bitcoin-knots \
      -p 8332:8332 -p 8333:8333 \
      -v /var/lib/archipelago/bitcoin:/home/bitcoin/.bitcoin \
      --label "com.archipelago.app=bitcoin-knots" \
      --label "com.archipelago.title=Bitcoin Knots" \
      docker.io/bitcoinknots/bitcoin:latest \
      -server=1 -txindex=1 -rpcallowip=0.0.0.0/0 \
      -rpcbind=0.0.0.0:8332 -dbcache=4096
    
  2. Access Web UI - Navigate to http://[server-ip]

Testing the ISO

# Use VirtualBox, QEMU, or real hardware
qemu-system-x86_64 \
  -m 4G \
  -cdrom results/archipelago-auto-installer-*.iso \
  -hda archipelago-test.qcow2 \
  -boot d

Important Notes

⚠️ The auto-installer will ERASE the target disk!
⚠️ Make sure to test on a non-production machine first
⚠️ Minimum 20GB disk space required (500GB+ recommended for Bitcoin)

Build from Source (Alternative)

If you want to build everything from scratch instead of capturing the live server:

BUILD_FROM_SOURCE=1 ./build-auto-installer-iso.sh

This will:

  • Build backend from Rust source
  • Build frontend with npm run build
  • Create fresh SSL certificates
  • Generate default configs

Troubleshooting

ISO won't boot:

  • Ensure UEFI mode is enabled
  • Try disabling Secure Boot

Installer hangs:

  • Check the auto-start script fix is applied (see DEPLOYMENT.md)

Backend doesn't detect containers:

  • Verify /etc/sudoers.d/archipelago-podman exists
  • Check backend can run sudo podman ps

Version Naming

ISOs are automatically named with timestamp:

archipelago-auto-installer-YYYYMMDD-HHMMSS.iso

For releases, rename to:

archipelago-v0.1.0-beta.1.iso

Next Steps After Building

  1. Test the ISO on VM
  2. Verify web UI loads
  3. Test container deployment
  4. Document any issues
  5. Tag the release in git
  6. Upload ISO to distribution point