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:
.imgfile ready fordd - 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:
# Build just the backend
./scripts/build-backend.sh
# Build just the frontend
./scripts/build-frontend.sh
# Create APK package
./scripts/create-backend-apk.sh