Multi-arch prod image build: add linux/arm64 for Raspberry Pi #39

Closed
opened 2026-05-02 11:03:06 +02:00 by myrmidex · 0 comments
Owner

Add a Forgejo Actions build pipeline that produces a multi-arch Docker image (linux/amd64 + linux/arm64) so the app can run on Raspberry Pi.

Changes

  • Add .forgejo/workflows/build.yml — triggers on tag push (v*), builds with docker buildx, pushes to forge.lvl0.xyz/myrmidex/incr
  • Bump docker/production/Dockerfile PHP stage from php:8.2-fpm-alpine to php:8.3-fpm-alpine (aligns with composer.lock requirement)
  • Ensure node:20-alpine and php:8.3-fpm-alpine base images are both multi-arch (they are)

Notes

  • The prod Dockerfile itself is already arm64-compatible — only the build pipeline is missing
  • Use docker/setup-buildx-action + docker/build-push-action pattern
  • Registry: forge.lvl0.xyz/myrmidex/incr
  • Requires REGISTRY_USERNAME + REGISTRY_PASSWORD secrets on the repo
Add a Forgejo Actions build pipeline that produces a multi-arch Docker image (`linux/amd64` + `linux/arm64`) so the app can run on Raspberry Pi. ## Changes - Add `.forgejo/workflows/build.yml` — triggers on tag push (`v*`), builds with `docker buildx`, pushes to `forge.lvl0.xyz/myrmidex/incr` - Bump `docker/production/Dockerfile` PHP stage from `php:8.2-fpm-alpine` to `php:8.3-fpm-alpine` (aligns with composer.lock requirement) - Ensure `node:20-alpine` and `php:8.3-fpm-alpine` base images are both multi-arch (they are) ## Notes - The prod Dockerfile itself is already arm64-compatible — only the build pipeline is missing - Use `docker/setup-buildx-action` + `docker/build-push-action` pattern - Registry: `forge.lvl0.xyz/myrmidex/incr` - Requires `REGISTRY_USERNAME` + `REGISTRY_PASSWORD` secrets on the repo
myrmidex added this to the v0.3.0 milestone 2026-05-02 11:03:06 +02:00
myrmidex self-assigned this 2026-05-02 11:23:20 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lvl0/incr#39
No description provided.