archy/BUILDING_COMPLETE_OS.md
Dorian 76782073c2 Refactor build script for custom ISO creation and update hardware configuration
- Replaced OS-specific build method with a custom ISO builder in the build-for-hardware.sh script.
- Updated output file naming to reflect the correct Alpine version in the build process.
- Adjusted build dates in hardware configuration files for HP ProDesk, merged, and Start9 Pure profiles to the latest timestamp.
2026-01-31 22:56:39 +00:00

3.4 KiB

Building Complete Archipelago Node OS

Status: In Progress

Currently building the Rust backend for Alpine Linux. Once complete, we'll have a fully functional Archipelago Bitcoin Node OS.

What's Been Completed

ISO Build System

  • Custom ISO builder using pre-built Alpine Linux
  • Hardware-specific builds (HP ProDesk, Start9, Dell OptiPlex, Generic)
  • Fast builds (~2 seconds)
  • No cross-compilation issues on ARM Mac

Frontend (Vue.js)

  • Production build complete
  • Location: image-recipe/build/frontend/
  • Size: ~14MB compressed
  • Includes: Dashboard, Apps, Marketplace, Container management, Settings

Backend (Rust)

  • Currently compiling in Alpine Docker container
  • Native musl build for Alpine Linux
  • Will output single binary: archipelago
  • Includes: Container orchestration, RPC API, WebSocket support

Integration Scripts

  • build-backend.sh - Builds Rust backend in Docker
  • build-frontend.sh - Builds Vue.js frontend
  • integrate-archipelago.sh - Combines everything into ISO
  • build-custom-iso.sh - Updated to include backend/frontend

What Will Happen Next

Once the backend compiles:

  1. Integration Build

    ./integrate-archipelago.sh
    

    This will:

    • Take the compiled backend binary
    • Take the built frontend files
    • Create new ISO with both included
    • Configure nginx to serve UI
    • Create OpenRC service for backend
    • Set up auto-start on boot
  2. Result You'll have: archipelago-3.19-hp-prodesk-x86_64.iso

    Which includes:

    • Alpine Linux 3.19 base
    • Podman + container tools
    • Archipelago backend (/usr/local/bin/archipelago)
    • Archipelago web UI (/usr/share/archipelago/web/)
    • nginx configured on port 8100
    • Backend API on port 8101
    • Auto-start services
    • DHCP networking
  3. Boot Experience

    • Boot from USB
    • Login as root
    • Run /media/cdrom/archipelago/install.sh
    • System installs everything automatically
    • Reboot
    • Backend starts automatically
    • Web UI accessible at http://device-ip:8100

Features in the Complete OS

Container Management

  • Install containerized apps (Bitcoin Core, LND, etc.)
  • Start/stop/remove containers
  • View logs and status
  • Resource monitoring

Web UI

  • Dashboard with system stats
  • App marketplace
  • Container app management
  • Settings and configuration
  • Onboarding flow

Backend API

  • RPC endpoints for all operations
  • WebSocket for real-time updates
  • Container orchestration
  • App manifest parsing
  • Dependency resolution

Security

  • Rootless Podman containers
  • Separate user account (archipelago)
  • SSH access
  • Firewall ready
  • Encrypted secrets storage (planned)

File Sizes

  • Base ISO: 208 MB (Alpine + packages)
  • Backend binary: ~50-80 MB (estimated, includes all deps)
  • Frontend: ~14 MB
  • Final ISO: ~300 MB (estimated total)

Next Session

If the backend build completes:

  1. Run ./integrate-archipelago.sh
  2. Flash to USB
  3. Boot on HP ProDesk
  4. Test full system

If it doesn't complete:

  • Resume the build
  • Docker container maintains build cache
  • Won't need to recompile dependencies

Build Time Estimates

  • Frontend: 3-4 seconds DONE
  • Backend (first time): 5-10 minutes IN PROGRESS
  • Backend (incremental): 30-60 seconds
  • ISO integration: 2-3 seconds
  • Total: ~10-15 minutes for complete build

Current Time: Building backend...
Estimated Completion: 5-10 minutes from start