Skip to content

Use pi-gen-action to build 32- and 64-bit RaspAP images #1688

@billz

Description

@billz

Is your feature request related to a problem?

Many users have requested a 32- or 64-bit Lite (bookworm) SD card image with a RaspAP installation. A pre-built image achieves two goals:

  1. Faster setups without first following the project perquisites and executing the installer.
  2. Eliminates potential conflicts and troubleshooting when installing RaspAP on a non-clean OS.

Describe the solution you'd like

The pi-gen-action wraps pi-gen to make it easily accessible in GitHub workflows. Generated images can subsequently be used in workflows, e.g. uploaded as build artifacts or further processed. pi-gen is the official tool to generate Raspberry Pi OS images that can be flashed on SD cards. A custom user stage may be defined to execute RaspAP's quick installer with the following optional flags (1 = enabled):

-o, --openvpn <flag>
-s, --rest, --restapi <flag>
-a, --adblock <flag>
-w, --wireguard <flag>
-g, --tcp-bbr <flag>

example: curl -sL https://install.raspap.com | bash -s -- --yes --openvpn 1 --restapi 1 --adblock 1 --wireguard 1 --tcp-bbr 1

After booting the OS with RaspAP, the user may then opt to disable any of these components that aren't needed.

The build will be triggered whenever the master branch of the /RaspAP/raspap-webgui repository is updated. For a repo other than the current one, this can be done with a repository dispatch event and triggered by a webhook. Generated images will be uploaded as artifacts that are accessible to end users.

Describe alternatives you've considered

While not a strict requirement, pi-gen-action appears to provide a beaten path to creating the desired GitHub workflow.

Additional context

Refer to the pi-gen repository for detailed information on the scripts and its usage.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions