3.3 KiB
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
- Latest code deployed to server (
/deployfirst) - System configs synced (
/sync-configsfirst) - Everything tested and working on live server
- 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
Unbundled ISO (recommended for distribution — ~3GB)
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
--rebuildflag to force rootfs rebuild (otherwise uses cached) - FileBrowser container mounts
/var/lib/archipelago/filebrowser→/srv - Always
chown 1000:1000files in FileBrowser so the app can serve them - IMPORTANT: Use
build-auto-installer-iso.sh(orbuild-unbundled-iso.sh) only. The deprecatedbuild-debian-iso.shcauses boot-to-prompt issues.