https://your-app.pyln.dev.
When to use it
| You should use Cloud if… | You should self-host if… |
|---|---|
| You want to ship today, not learn ops | You have strict data residency / on-prem requirements |
| You don’t want to manage Postgres backups, TLS, scaling | You already operate Kubernetes / Nomad / your own VPS fleet |
| You’d rather pay a flat platform fee + per-machine compute than per-server | Your workload spikes hard enough that reserved capacity is cheaper |
| You want managed magic-link email + OAuth credentials out of the box | You need to run an air-gapped deployment |
baseUrl changes.
Sign up
- Visit www.pylonsync.com/dashboard and create an account.
- Create a project. The project gets a stable URL like
https://your-app.pyln.dev. - Add a payment method (free Hobby tier covers small projects; see pricing below).
Deploy
There are two ways to deploy to Cloud:1. Push to GitHub (recommended)
Install the Pylon Cloud GitHub App on your repo from the project settings page. Every push to your project’s default branch triggers a build + deploy. Pull-request pushes get a preview environment that tears down on merge.2. Manual deploy from the dashboard
Project page → Deploy → pick a branch. The control plane resolves the branch head against your installed GitHub App and runs the same build pipeline as a webhook deploy.Custom domains
From the project’s Domains tab, addapp.example.com. Cloud provisions a TLS certificate (Let’s Encrypt) automatically. Add the displayed CNAME record to your DNS, wait for verification, and you’re live on the custom domain. Both the apex *.pyln.dev URL and your custom domain stay valid.
Environment variables
Project page → Settings → Environment. Set per-project secrets without committing them to git. They show up in your TypeScript functions asprocess.env.STRIPE_SECRET_KEY, are encrypted at rest, and never appear in logs.
Hand off to a coding agent
Every org page in Pylon Cloud has a Hand off to your coding agent card. Click it, paste the generated prompt into Claude Code (or Codex / OpenCode / Cursor / Aider / grok build), and the agent installs the CLI, signs in, loads the Pylon skill, and asks what you want to build. The session token is exchanged via a 5-minute single-use code — yourpk.* API key never lands in the chat history. See Agent handoff for the full flow.
Pair with Vercel for the frontend
The canonical Pylon production stack is frontend on Vercel, backend on Pylon Cloud. Vercel handles your Next.js / SvelteKit / etc. build + global edge; Pylon Cloud owns the realtime backend, database, and auth. SetPYLON_TARGET=https://your-app.pyln.dev (your project’s Cloud URL) in Vercel’s project env vars and the Next.js template’s rewrite forwards /api/* to your Pylon backend — the browser talks same-origin, session cookies ride along, no CORS needed.
Full checklist: Deploying to Vercel.
What’s included
- Same binary as
pylon dev— no runtime hooks, no vendor proxies. - Postgres or SQLite — choose at project creation. SQLite ships on a Fly volume; Postgres is provisioned as a managed sibling service.
- TLS — automatic Let’s Encrypt certificates on
*.pyln.devand your custom domains. - Magic-link email — managed transactional sender; no SendGrid / Resend account required.
- OAuth — bring your own Google / GitHub / etc. OAuth credentials.
- WebSocket + SSE + shard ports — exposed automatically; clients connect to the public URL.
- File storage — S3-backed, sized by plan.
- Studio — every project has the inspector available at
https://your-app.pyln.dev/studio. - Logs + metrics — request logs, function traces, latency / error charts in the dashboard.
- On-demand backups — Fly volume snapshots from the project’s Backups tab. Pro and Team plans get more frequent retention.
Scaling
Pylon Cloud runs on Fly Machines under the hood. Every dashboard knob maps to a real infrastructure call:- Machine size —
shared-cpu-1x · 512 MBbaseline; resize up to 4 GB on Pro, 8 GB on Team. - Replicas — 1–3 on Pro, 1–10 on Team.
- Volume size — up to 100 GB on Pro, 500 GB on Team.
- Autostop — locked on for free tier (machine sleeps when idle, wakes on next request). Toggleable on Pro+ if you need always-warm WebSockets.
- Multi-region — pick from any of 13 regions:
| Region | Code |
|---|---|
| US East (Ashburn) | iad |
| US Central (Chicago) | ord |
| US West (San Jose) | sjc |
| US West (Los Angeles) | lax |
| US Northwest (Seattle) | sea |
| EU (London) | lhr |
| EU (Frankfurt) | fra |
| EU (Amsterdam) | ams |
| Australia (Sydney) | syd |
| Asia (Singapore) | sin |
| Asia (Tokyo) | nrt |
| South America (São Paulo) | gru |
| Canada (Toronto) | yyz |
Pricing
Each tier has a flat platform fee plus per-machine compute. Hard quotas (requests, CPU-hours, egress) cap monthly usage; projects pause at the quota until the calendar month rolls over or you upgrade.Hobby — $0
Locked free shape:- 1 project per organization
shared-cpu-1x · 512 MB · 3 GBvolume, 1 replica, autostop forced on- 100k requests / month
- 1 CPU-hour / month
- 5 GB egress / month
- Single region, SQLite only
- Community support
Pro — $20 / org / month
Includes one baseline 512 MB machine, 10 GB volume, 50 GB egress, all features (custom domains, OIDC SSO, audit log, autostop toggle).- Up to 10 projects per organization, 5 organizations per user
- Quotas: 5M requests, 50 CPU-hours, 250 GB egress per month
- Per-machine pricing:
- 1 GB always-warm: $14 / month
- 2 GB always-warm: $25 / month
- 4 GB always-warm: $50 / month (max)
- Each replica bills at the machine rate × count
- Volume above 10 GB: $0.25 / GB-month
- Egress above 250 GB: $0.06 / GB
Team — $99 / org / month
Includes one baseline 1 GB machine, 50 GB volume, 250 GB egress.- Up to 50 projects per organization, 20 organizations per user
- Quotas: 50M requests, 500 CPU-hours, 2 TB egress per month
- Per-machine pricing:
- 1 GB always-warm: $12 / month
- 2 GB always-warm: $22 / month
- 4 GB always-warm: $42 / month
- 8 GB always-warm: $110 / month (max)
- Volume above 50 GB: $0.20 / GB-month
- Egress above 2 TB: $0.04 / GB
- Multi-region replication, SAML SSO, audit log, role-based access
Enterprise
Bespoke quotas, single-tenant Fly org or BYOC (AWS, GCP), custom regions, SLA + on-call escalation, migration assistance. Email[email protected].
Live pricing on the pricing page.
Migrating from self-hosted
pylon backup and pylon restore (in the framework CLI) snapshot the SQLite database + uploads on a local Fly volume. To migrate into Cloud:
baseUrl (your project’s pyln.dev URL or custom domain). Sessions are preserved — the session store is part of the snapshot — so users stay signed in.
Migrating to self-hosted
Troubleshooting
Push didn’t trigger a deploy — Confirm the Pylon Cloud GitHub App is installed on the repo (Project Settings → GitHub) and the push is to the configured default branch. The Deployments tab shows webhook receipt; if nothing arrived, the webhook never fired. Custom domain stuck on “verifying” — DNS propagation can take up to 24 hours.dig CNAME app.example.com should show your *.pyln.dev target.
Magic-link emails not arriving — Check the spam folder for the first send (Cloud uses a shared sender domain that warms up over time). For production, configure your own sender domain in Settings → Email to authenticate with SPF / DKIM / DMARC under your domain.
WebSocket disconnects — Cloud’s load balancer holds connections for up to 4 hours; the sync engine handles reconnects automatically with full-jitter backoff. If you see frequent drops, check Connections in the project dashboard.
Hit a monthly quota — The project pauses at the limit until the calendar month rolls over (UTC) or you upgrade the organization’s plan. The dashboard shows current usage on the project’s overview page.