e323764b

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 2s 9s 9s 12s
Eval 9s 1m02s 1m02s 1m12s
Build 15s 8m20s 1m24s 1m40s
Test - - - -
Deploy - - - -
Suite 2s 9m33s 1m37s 1m40s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s