Files
Kevin CodexandClaude Fable 5 111cff7e20 infra: add production fly configs for gitlawb-node-2 (sjc) and gitlawb-node-3 (nrt)
Fleet configs from the 2026-07-22 multi-node deploy: iCaptcha enforce
(level 3), cross-node bootstrap peers, 500/400 connection limits.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-23 09:55:22 +08:00
..
2026-06-05 22:38:53 +08:00

infra/

Deployment configuration, organized by target — one subdirectory per platform.

infra/
├── fly/
│   └── fly.toml    # Fly.io app config (gitlawb-node-test)
└── aws/            # Terraform: single EC2 + Docker (see aws/README.md)

Deploying to Fly.io

Run from the repo root so the Docker build context includes crates/, Cargo.toml, and bootstrap-peers.json:

fly deploy -c infra/fly/fly.toml

The dockerfile path inside fly.toml is resolved relative to the config file, so it points to ../../Dockerfile.

Deploying to AWS

See aws/README.md — Terraform for a single EC2 instance running the published ghcr.io/gitlawb/node image with Docker compose.

What intentionally stays at the repo root

  • Dockerfile / Dockerfile.bins — shared by the release CI workflow (.github/workflows/release.yml), scripts/build-bins.sh, and Fly builds.
  • docker-compose.yml — local dev stack; bundled into the macOS app by scripts/build-macos-app.sh and used for repo detection by the app.

Future targets should follow the same per-platform layout.