# Build Scripts Helper scripts for building Archipelago OS images. ## Scripts ### `build-backend.sh` Compiles the Archipelago Rust backend binary. - Output: `../build/backend/archipelago` - Requires: Rust toolchain - Optional: musl target for static binary ### `build-frontend.sh` Builds the Vue.js frontend for production. - Output: `../build/frontend/` - Requires: Node.js 18+, npm - Builds static files for serving ### `create-backend-apk.sh` Creates Alpine APK package from backend binary. - Output: `../apks/archipelago-backend-*.apk` - Includes: binary, systemd service, config files - Format: Alpine package format (tar.gz with metadata) ### `install-archipelago.sh` Installs Archipelago components into built image. - Called after image is created - Installs APK and frontend files - Configures services ### `convert-iso-to-disk.sh` Converts ISO image to raw disk image. - Input: ISO file - Output: `.img` file ready for `dd` - Creates partition layout (EFI + root) ### `check-dependencies.sh` Checks if all build dependencies are available. - Checks: Rust, Node.js, Docker (if needed) - Provides installation instructions - Non-blocking (warns but continues) ### `setup-alpine-build.sh` Sets up Alpine build environment. - Installs Alpine build tools - Configures abuild keys - Only needed for native Alpine builds ## Usage These scripts are called automatically by the main build process. You typically don't need to run them manually, but you can for testing: ```bash # Build just the backend ./scripts/build-backend.sh # Build just the frontend ./scripts/build-frontend.sh # Create APK package ./scripts/create-backend-apk.sh ```