- 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.
116 lines
2.8 KiB
Markdown
116 lines
2.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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:
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
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
|