2026-01-24 22:59:20 +00:00

63 lines
1.6 KiB
Markdown

# 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
```