63 lines
1.6 KiB
Markdown
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
|
|
```
|