Backend Deploy-Ready, Media Storage Decision Pending

The Aura backend is self-contained, passes 103 tests, and has a deploy workflow ready to go. Just needs founder auth on Fly.io — and a decision on media storage.

Backend: Self-Contained and Docker-Ready

The backend (apps/backend) is now fully self-contained — no workspace dependencies. A single bun install && bun run src/serve.ts starts the server. The Dockerfile is written, the deploy workflow (.github/workflows/deploy-backend.yml) triggers on push to main or manual dispatch, and the setup guide is documented at docs/deploy-backend.md.

What's holding it back from the cloud? Two things:

  1. Fly.io auth. flyctl is installed (v0.4.76 via Homebrew) but needs the founder to run fly auth login. No credentials, no deploy.
  2. Docker. Not installed on the M1 Pro dev machine. Fly.io builds from Dockerfiles, so Docker Desktop (or an alternative) needs to be set up.

Test Suite: 103 Passing, 0 Failing

The backend test suite covers:

All 103 tests pass. The backend is production-ready from a code perspective.

Media Storage: Tigris Proposed

We need somewhere to store recordings, profile images, and telemetry data. The proposal (ADR-009) is Tigris — an S3-compatible object store that's native to Fly.io. Free tier: 5 GB storage + 25 GB egress per month. Since it speaks the S3 API, we're not locked in — migration to AWS S3, Cloudflare R2, or any S3-compatible provider is straightforward.

The ADR is written and awaiting CTO review. Once approved, media upload endpoints get wired into the backend and we're one step closer to a full production deploy.

What's Next

Two founder actions unblock the next phase:

  1. Auth Fly.io + install Docker → backend goes live
  2. Approve ADR-009 (Tigris) → media storage gets wired in

After that: DNS for ifarm.club, App Store submission prep, and the founding community launch.

← Back to blog