setup
Deploy your own Sparkle RSS
Sparkle RSS is infrastructure as code. Spin up the whole stack — database, sync API, ingestion pipeline, web reader, auth — on your own AWS account, then point any Google Reader–compatible client at it. Rough numbers: a few cloud resources, one pipeline, about an hour.
Prereqs on your machine
Node 22, pnpm 10 (corepack enable), Terraform >= 1.10, the AWS
CLI v2, and Docker (for the local Postgres used in development). You also need an
AWS account and the domain whose Route 53 hosted zone you'll publish under.
node --version # v22+
pnpm --version # 10.x
terraform --version # >= 1.10 Clone and install
Clone the repo and install dependencies with pnpm. The workspace includes the API, the web reader, the domain packages, and every tool.
git clone https://github.com/rewdy/sparkle-rss.git
cd sparkle-rss
pnpm install Configure for your account
Deployment is a single, fork-friendly config. Edit
tf/terraform.tfvars (backed by tf/variables.tf): set your
app_domain, whether to publish the marketing site, and sign-up policy.
Terraform state lives in S3, configured inline in tf/main.tf — point it
at your own bucket. No env vars or extra backend files.
# tf/terraform.tfvars
app_domain = "app.example.com"
deploy_site = false # most forks run app-only
allow_signups = true # or keep invite-only Deploy
Push to main and the GitHub Actions pipeline takes over: lint,
typecheck, tests, a terraform apply that creates the whole stack, DB
migrations, and publish of the web reader. No long-lived AWS keys — deploys use
GitHub OIDC.
# everything below happens automatically on push to main:
# terraform apply → migrations → s3 sync + CloudFront invalidation Add a user and connect
Users are invite-only. Create one via the AWS CLI (Cognito admin-create-user), sign in at your reader, and mint a per-user API token from the settings page. Then add the server in any Google Reader–compatible app.
Server URL: https://your-reader.example/api/greader.php
Username: you@example.com
Password: your srk_… API token (from Settings)
This is the shape of a deploy, not a line-by-line walkthrough — the repo's
docs/ directory is the full, living setup guide and is kept current
with the code. Costs typically land around $5–12/month, near-zero when idle.