Open source & self-hosting
The architecture is designed so that anyone can run their own instance on their own AWS account — the same reason nothing is hardcoded.
What a self-host needs
- This repository + Node 20 + pnpm.
- One AWS account (no multi-account requirement — a single account with one environment works).
- A domain you control.
Steps
-
Edit
infra/config/accounts.json(your account ID) andinfra/config/environments.json(your domains; you can delete the unused environments). -
cdk bootstrap aws://<your-account>/us-east-1 -
Create the hosted zone delegation for your domain.
-
Deploy:
Terminal window cd infranpx cdk -a 'npx ts-node bin/app.ts' deploy -c env=dev --all -
Optionally deploy the pipeline with your GitHub connection for CI/CD.
Cost profile
Everything scales to zero. Typical idle cost for a personal instance: Route 53 + KMS + CloudTrail + Config ≈ a few dollars per month; usage adds pennies (DynamoDB on-demand, Lambda per request, S3 per GB). A monthly budget alarm is included by default.
Customization points
infra/config/*.json— accounts, domains, features.apps/app/public/config.json— local dev defaults.- Security contacts / budget thresholds — CDK context values.
- Everything else is product code; keep it in sync with upstream.