Short answers to the questions people ask first - what Free includes, cost while idle, framework support, monorepos, custom domains, databases, and rollbacks.
FAQ
Short answers, with links to the full story.
Deploying#
What can I deploy?#
Static frontends, server-rendered apps, APIs, and anything with a Dockerfile. The full list is on Frameworks. Managed PostgreSQL and MySQL databases run next to your apps.
Do I need a Dockerfile?#
No. If a framework needs a container and the repo has no Dockerfile, one is generated for it. If you commit a Dockerfile, it is used exactly as written. See Builds.
Does it work with monorepos?#
Yes. Set the root directory to the folder your app lives in. Detection, builds, and webhook triggers all honour it - a push that does not touch that folder does not rebuild the app.
Can I deploy without a Git repository?#
Yes - upload a folder or a .zip from the console, from Claude, or from VS Code. See Deploy from an upload.
How do I roll back a bad deploy?#
Revert the commit in Git and push - the pipeline ships it like any other change. Redeploy in the console re-ships the branch tip, which helps after settings changes. See Rollbacks.
Cost#
What do I get for free?#
Unlimited static sites, three server apps and a preview URL for every branch, each on a light-cloud.io address, with $1 of usage a month. No card. A typical site uses about a cent of it, and Free has no end date. See Pricing.
What's the catch?#
Free pages carry a small "by Light Cloud" link, there is no custom domain, and server apps pause if you use the whole $1 in a month. Lite removes all three for $5.
Free never bills you. It pauses: when the $1 is used up, server apps and deploys pause until the next billing cycle or an upgrade, and your static sites stay up. See Billing.
What does an idle app cost?#
A container app with min instances at 0 (the default) scales to zero when traffic stops and counts nothing while asleep. Static sites run no instances: they count their build minutes and storage, and their bandwidth is included. See Billing.
What happens if I use more than my plan includes?#
On a paid plan the extra usage is added to your next invoice at the same rates - nothing pauses and nothing is charged mid-month, unless you set a usage limit. You get an email at 80% of the included usage and another when it is used up, and you can add one more alert at a dollar amount of your choosing. See Billing.
How do I upgrade?#
From Billing in the console, or from the prompt that appears when you reach for a paid feature. One Stripe Checkout takes your card and the first payment together, and paused server apps resume within minutes; with a card already saved it is one click. Paid plans can also be paid yearly, with two months free. See Billing.
Environments#
How do preview environments get created?#
Push a branch and it gets its own environment and URL, rebuilt on every push and removed when the branch is deleted. See Preview environments.
Can previews have their own configuration?#
Yes. An environment starts from the application's environment variables and can override any of them - point a preview at a test database while production keeps the real one.
Can I password-protect an environment?#
Yes - give it a visitor password in its settings. See Preview environments.
Domains and databases#
How do custom domains work?#
Custom domains come with every paid plan, from Lite at $5 a month. Add the domain on the environment's Domain tab, create the DNS records shown, and the certificate is issued and renewed for you. See Custom domains.
Which databases are available?#
Managed PostgreSQL 15 and MySQL 8.0, from a $4 shared tier to dedicated instances. Databases start on Lite, which allows one shared database; Starter and up can create more. See Databases and Connect an app.
Are databases backed up?#
Daily automatic backups for every database, plus point-in-time recovery for PostgreSQL. See Backups.
Something else?#
- The Glossary defines every platform term.
- Limits collects every number in one table.
- Ask from your editor: the MCP server can answer "why did my deploy fail?" against your real logs.