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.
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# 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**
|
||||
```bash
|
||||
./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
|
||||
Reference in New Issue
Block a user