1.5 KiB
1.5 KiB
Milestone 6 (P3): Deployment Targets (Nix + Fly/Railway/Render)
Date: 2026-02-16
Goals
- Provide a Nix flake/package that builds
dist/and preservesdist/gateway/uiadjacency. - Provide an optional NixOS module for running Flynn as a systemd service.
- Add first-class docs and templates for Fly.io / Railway / Render.
- Ensure PaaS network binding works (
server.localhost: false) and port binding works (PORTenv override).
Implementation
Nix
- Added
flake.nixwith:packages.flynn/packages.defaultapps.default(nix run)devShells.default(nix develop)overlays.default(exposespkgs.flynn)nixosModules.flynn
- Added Nix package definition:
nix/package.nix(builds viapnpm build). - Added NixOS module:
nix/module.nix(services.flynn.*). - Added docs:
docs/deployment/NIX.md.
PaaS
- Added a PaaS-friendly config template:
config/paas.yaml(server.localhost: false). - Updated
Dockerfileto ship a default config at/config/config.yamlso the image is runnable without a bind-mount. - Added templates:
- Fly.io:
deploy/flyio/fly.toml - Railway:
deploy/railway/railway.toml - Render:
deploy/render/render.yaml
- Fly.io:
- Added docs:
docs/deployment/PAAS.md.
Acceptance Notes
pnpm buildstill copies gateway UI todist/gateway/ui(required adjacency).PORTenv override is implemented insrc/config/loader.ts(completed earlier on 2026-02-16).- For PaaS/container routing, use
server.localhost: false(baked intoconfig/paas.yaml).