2026-03-10 23:29:05 +00:00

3.3 KiB

name, description, disable-model-invocation, allowed-tools
name description disable-model-invocation allowed-tools
build-iso Build a new Archipelago auto-installer ISO image (bundled or unbundled) true Bash, Read

Build a new Archipelago auto-installer ISO.

Pre-build checklist

  1. Latest code deployed to server (/deploy first)
  2. System configs synced (/sync-configs first)
  3. Everything tested and working on live server
  4. Sync build scripts to server before building:
    rsync -avz -e "ssh -i ~/.ssh/archipelago-deploy" \
      /Users/dorian/Projects/archy/image-recipe/build-auto-installer-iso.sh \
      /Users/dorian/Projects/archy/image-recipe/build-unbundled-iso.sh \
      archipelago@192.168.1.228:~/archy/image-recipe/
    

Build variants

No pre-bundled container images. Apps install on-demand from Marketplace (requires internet).

ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \
  'cd ~/archy/image-recipe && sudo ./build-unbundled-iso.sh'

Output: results/archipelago-installer-unbundled-x86_64.iso

Full bundled ISO (~11GB)

All container images pre-bundled for offline install.

ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \
  'cd ~/archy/image-recipe && sudo ./build-auto-installer-iso.sh'

Output: results/archipelago-installer-x86_64.iso

Post-build: ALWAYS publish to FileBrowser

After EVERY successful build, copy the ISO to the FileBrowser Builds folder so it's downloadable from the web UI. This is mandatory — do not skip.

FileBrowser data root: /var/lib/archipelago/filebrowser/

# For unbundled:
ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \
  'sudo mkdir -p /var/lib/archipelago/filebrowser/Builds && \
   sudo cp ~/archy/image-recipe/results/archipelago-installer-unbundled-x86_64.iso /var/lib/archipelago/filebrowser/Builds/ && \
   sudo chown 1000:1000 /var/lib/archipelago/filebrowser/Builds/archipelago-installer-unbundled-x86_64.iso'

# For bundled:
ssh -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228 \
  'sudo mkdir -p /var/lib/archipelago/filebrowser/Builds && \
   sudo cp ~/archy/image-recipe/results/archipelago-installer-x86_64.iso /var/lib/archipelago/filebrowser/Builds/ && \
   sudo chown 1000:1000 /var/lib/archipelago/filebrowser/Builds/archipelago-installer-x86_64.iso'

Post-build: Download to Mac (optional)

# Unbundled:
scp -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228:~/archy/image-recipe/results/archipelago-installer-unbundled-x86_64.iso ~/Downloads/

# Bundled:
scp -i ~/.ssh/archipelago-deploy archipelago@192.168.1.228:~/archy/image-recipe/results/archipelago-installer-x86_64.iso ~/Downloads/

Key paths on server

  • Build scripts: ~/archy/image-recipe/build-auto-installer-iso.sh, build-unbundled-iso.sh
  • Build output: ~/archy/image-recipe/results/
  • Build cache (rootfs, base ISO): ~/archy/image-recipe/build/auto-installer/
  • FileBrowser Builds: /var/lib/archipelago/filebrowser/Builds/

Notes

  • Use --rebuild flag to force rootfs rebuild (otherwise uses cached)
  • FileBrowser container mounts /var/lib/archipelago/filebrowser/srv
  • Always chown 1000:1000 files in FileBrowser so the app can serve them
  • IMPORTANT: Use build-auto-installer-iso.sh (or build-unbundled-iso.sh) only. The deprecated build-debian-iso.sh causes boot-to-prompt issues.