0cad5975

By: Michael Lynch <git@mtlynch.io>

Deploy to Fly.io with a Nix-built image instead of a Dockerfile

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>

Suite timing

Time to Start Worker time Duration Time to finish
Config 1s 17s 17s 19s
Eval 17s 2m53s 2m53s 3m11s
Build 38s 8m59s 6m05s 6m44s
Suite 1s 12m10s 6m42s 6m44s

Timeline

0s1m2m3m4m5m