The punycode module deprecation warning in Node.js is coming from
actions/checkout@v6. Downgrading to v4 which is more stable and
doesn't use the deprecated punycode module.
Fixed two CI/CD issues:
1. Docker daemon not accessible
- Added explicit dockerd startup step
- Configured buildx to use docker-container driver
- Driver creates its own buildkitd instance
2. Node.js punycode deprecation warning
- Downgraded actions/checkout from v6 to v4
- v4 is more stable and doesn't use deprecated punycode module
Changes ensure the workflow runs successfully in Forgejo Actions runners
that may not have Docker socket access by default.
Switch deployment pipeline from GitLab Agent kubectl to FluxCD image
automation. CI now only builds and pushes tagged images to Forgejo
registry; FluxCD detects new tags and updates the deployment manifest.
Fix Ecto.MultipleResultsError on /dashboard when a device has multiple
Preseem access point records by using limit(1) instead of Repo.get_by.
Replace inline cache with dedicated buildcache tag that stores all
intermediate builder layers. Unchanged stages like deps and compile
will be pulled from cache instead of rebuilt.
Add node:22-bookworm container image since ubuntu:latest lacks Node.js
required by JavaScript-based actions. Update checkout to v6 and
build-push-action to v6.