83c722b3

Author: Michael Lynch <git@mtlynch.io>

Committer: Michael Lynch <mtlynch@noreply.codeberg.org>

Deploy to Fly.io with a Nix-built image instead of a Dockerfile (#254)

Build the OCI image with dockerTools.streamLayeredImage (no Docker
daemon, so it works in the NixCI sandbox) and deploy it via a
deploy-to-fly package that pushes to registry.fly.io with skopeo and
runs `fly deploy --image`. The same package drives both NixCI
auto-deploys on master (nix-ci.nix) and manual `nix run .#deploy-to-fly`.

The image adds CA certificates, which the old Alpine image omitted, so
the app's HTTPS calls to S3 and SMTP have trust roots.

Remove the Dockerfile and the now-unused serve-docker and
enable-multiarch-docker scripts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Reviewed-on: https://codeberg.org/mtlynch/little-moments/pulls/254

Suite timing

Time to Start Worker time Duration Time to finish
Config 2s 25s 25s 27s
Eval 25s 1m05s 1m05s 1m30s
Build 37s 5m36s 1m06s 1m44s
Test - - - -
Deploy 1m47s 1m05s 1m07s 2m55s
Suite 2s 8m12s 2m53s 2m55s

Timeline

0s20s40s1m1m20s1m40s2m2m20s2m40s