Deploy your first service
This walks through deploying a real app on Infrly end to end: connect GitHub, create a project, deploy a web service, and add a database. It should take about five minutes.
If you already know which kind of service you want to deploy, jump straight to its guide: Web Service, Static Site, PostgreSQL, Key Value, or Cron Job.
Fastest start: deploy a template
Want to see a live URL before connecting your own code? On the dashboard's first screen, choose Deploy a template. Infrly creates a project and a service from one of these public starter apps and deploys it, usually in about a minute, without asking for access to your repositories:
| Template | What it is |
|---|---|
| FastAPI | Python web service with a health check and an optional PostgreSQL connection |
| Express | Node.js web service with a health check and an optional PostgreSQL connection |
| Next.js | Server-rendered React app |
| Static site | Vite site, built once and served over HTTPS |
To make one yours, click Use this template on its GitHub page, then deploy your copy with the steps below. Every push to your copy deploys automatically.
1. Connect GitHub
Infrly deploys from a GitHub repository, so the first thing any new account needs is a connected GitHub account.
- Sign in to Infrly with GitHub. At sign-in, Infrly only asks GitHub for your profile and email.
- The first time you create a service from a repository, Infrly asks for access to your repositories. Click Continue on GitHub and approve. Infrly reads the code to build it and adds a webhook so every push deploys.
- You're taken back to the same page, and your repositories now show up in the list.
You only do this once per GitHub account. GitHub grants this access to all the repositories you can reach; Infrly only uses the ones you deploy. You can revoke it at any time in GitHub under Settings → Applications → Authorized OAuth Apps.
2. Create a project
A project is the unit everything else lives under — one or more services (web services, static sites, databases, cron jobs) that share a private network and a resource quota. A typical setup is one project per app: a web service, its database, and maybe a cache, all in the same project so they can talk to each other privately.
Click New Project, give it a name, and open it — you'll land on an empty project ready for its first service.
3. Deploy a web service
Inside your project, click New Service → Web Service, then:
| Field | What to put |
|---|---|
| Repository | Pick the GitHub repo to deploy |
| Branch | Usually main — every push to this branch auto-deploys |
| Root directory | The folder your app actually lives in (. if it's at the repo root) |
| Runtime | Infrly detects this from the repo; override it if it guessed wrong |
| Build / Start command | Prefilled with sane defaults per runtime — see Build & Start Commands |
Click Create Service. Infrly clones the repo, builds it, and starts it — watch progress live in the deployment's log stream. Once it reaches Running, your app is live at https://<service-name>-<random>.infrlyapp.com.
Full details, including runtime-specific defaults: Deploy a Web Service.
4. Add a database (optional)
If your app needs somewhere to store data, click New Service → PostgreSQL in the same project. Once it's provisioned, open its Connect tab and copy the connection string into your web service's environment variables — or better, use a service reference like ${{my-database.URL}} so Infrly keeps it in sync automatically.
Full details: PostgreSQL.
5. Make a change and watch it auto-deploy
Push a commit to the branch you deployed from. Infrly picks it up within a few seconds, runs a fresh build, and rolls it out — the previous version keeps serving traffic until the new one passes its health check. See Auto-Deploy & Redeploys for exactly how that works and how to trigger a manual redeploy.
Where to go next
- Environment Variables & Service References — how config and secrets reach your app, and how services talk to each other
- Domains & SSL — the URL your service gets automatically, and what's coming for custom domains
- Resource Plans & Usage-Based Billing — what each plan costs and how you're billed
- Troubleshooting — fixes for the errors people hit most often