Automated build of a Raspberry Pi OS Lite 64-bit image with Gladys Assistant and Watchtower.
Images are built on GitHub Actions with pi-gen and pi-gen-action, on an ubuntu-24.04-arm runner (native aarch64 build, required for Raspberry Pi OS arm64 images).
| Setting | Value |
|---|---|
| Base OS | Raspberry Pi OS Lite, Debian Trixie, arm64 |
| Hostname | gladys |
| User / password | pi / raspberry |
| SSH | Enabled |
| Timezone (Gladys container) | UTC |
| Docker | Pre-installed |
| Setup page | Shown on first boot while Gladys downloads (gladysassistant/gladys-setup-in-progress) |
| Gladys | Started on first boot (gladysassistant/gladys:v4) |
| Watchtower | Started on first boot (auto-updates Gladys) |
Docker images are not baked into the disk image. On first boot, a lightweight setup page (~25 MB) is pulled and displayed on port 80, then Gladys and Watchtower are downloaded from Docker Hub.
Each GitHub Release includes a raspberry-pi-imager.json file with the metadata required for a custom OS list (extract_size, extract_sha256, image_download_size, image_download_sha256, release_date, url, etc.).
The url field points to the release .zip on GitHub. If you mirror the image elsewhere (e.g. https://gladysassistant.com/download/latest-64.zip), update url before publishing your manifest.
-
Download the latest
.zipfrom the repository GitHub Releases page (or useraspberry-pi-imager.jsonin Raspberry Pi Imager). -
Flash with Raspberry Pi Imager (select the
.zipfile directly), or:unzip gladys-assistant-*.zip sudo dd if=gladys-assistant-*.img of=/dev/sdX bs=4M conv=fsync status=progress
-
Boot the Pi on your LAN (Ethernet or Wi‑Fi configured as usual on Raspberry Pi OS).
-
Open
http://<pi-ip-address>/in a browser: a setup page appears within seconds while Gladys downloads in the background. -
After a few minutes, Gladys replaces the setup page automatically on the same URL.
Verify first-boot progress:
ssh pi@gladys.local
sudo journalctl -u gladys-firstboot.service -f
docker psRaspberry Pi 3, 4, 5, and Zero 2 W (64-bit capable boards).
The image ships with default credentials (pi / raspberry) and SSH enabled, matching stock Raspberry Pi OS defaults. Change the password and consider SSH keys before exposing the device to untrusted networks.
stage2-gladys/ # Custom pi-gen stage (Docker + first-boot)
.github/workflows/ # CI build and release
Requires a Debian-based host with enough disk space (~30 GB) and Docker:
git clone https://github.com/RPi-Distro/pi-gen.git --branch arm64 --depth 1
cd pi-gen
cp -r /path/to/raspberry-pi-gladys/stage2-gladys .
# Configure (see pi-gen-action inputs in .github/workflows/build-image.yml)
./build-docker.shLocal builds are mainly for debugging; production images are produced by GitHub Actions.
| Trigger | Action |
|---|---|
Push to main |
Build + artifact + GitHub Release |
| Weekly (Monday 03:00 UTC) | Rebuild with latest Raspberry Pi OS base |
Manual (workflow_dispatch) |
On-demand build |
MIT — see LICENSE.