App quickstart
This quickstart deploys an app to Lizard in a few minutes. Install Lizard CLI: the installer signs you in and offers the 7-day Pro trial. Then run lizard add -r owner/repo for a GitHub repository or lizard up for a local folder. Lizard builds the app on its servers, with no local Docker, and gives it an HTTPS URL on onlizard.com. Lizard creates your account the first time you sign in.
1. Install the CLI
On macOS or Linux, run the install script:
curl -fsSL https://lizard.build/install.sh | bashIt puts the lizard binary in ~/.lizard/bin, adds that folder to your PATH in ~/.zshrc or ~/.bashrc, and links lizard into a folder that is already on your PATH, so it works in this terminal right away. The binary updates itself from then on, except in CI. If the script says lizard may not be found, open a new terminal. Check the version:
lizard --versionOn Windows, run this in PowerShell:
irm https://lizard.build/api/cli/install.ps1 | iexBoth install scripts end by running lizard login, which does steps 2 and 3 for you: it signs you in and offers the Pro trial. Set LIZARD_NO_LOGIN=1 to skip it; in CI the scripts skip it on their own.
Or install from npm (needs Node.js 20 or later). An npm install does not sign you in, so go on with step 2:
npm install -g @lizard-build/cliDon’t use
npx. Always use the globally installedlizardbinary. Runningnpx @lizard-build/clidownloads a temporary copy whose version may differ from the platform. To upgrade an npm install later, runnpm install -g @lizard-build/cli@latest.
Permission errors (EACCES)? Don’t use
sudo. Use the install script above, which needs no admin rights, or point npm at a user-owned prefix:mkdir -p ~/.npm-global npm config set prefix ~/.npm-global echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc && source ~/.zshrc npm install -g @lizard-build/cli
2. Log in
Skip this step if the install script signed you in. Otherwise run:
lizard loginIt asks whether you sign in with GitHub or Google, opens that page in your browser and waits until you approve. If you already have an account, pick the method you signed up with: the other one opens a second, empty account unless both share a verified email. --github or --google skips the question. On a machine that is already signed in, lizard login shows the account instead, so it is safe to run again.
You can also skip lizard login: any command run at a terminal signs you in the same way first, then carries on.
In CI or other non-interactive environments, authenticate with a token instead:
export LIZARD_TOKEN=liz_xxx
# or
lizard login --token liz_xxxAPI keys start with liz_. Create one with lizard keys create <name>. LIZARD_API_KEY works in place of LIZARD_TOKEN. lizard login --token-stdin reads the key from a pipe, which keeps it out of your shell history.
Check who you are at any time:
lizard whoami3. Start the Pro trial
A new account has no plan, and deploys need one. Once you are signed in, lizard login offers the 7-day Pro trial. Say yes, and it opens Stripe Checkout, where you add a card. The trial includes $5 of usage, and nothing is charged until it ends. An account that has had its trial is offered Pro at $19 a month instead.
If you said no, start it later:
lizard billing startUntil a plan starts, creating anything returns HTTP 402 with a Checkout link. See Billing and lizard billing.
4. Deploy
Pick the path that matches where your code lives.
Option A — Deploy a GitHub repo (recommended)
If your code is on GitHub, create a service straight from the repo. Lizard clones it, detects the stack and starts the first build:
lizard add -r your-org/your-appThe command returns as soon as the service exists; the build carries on. Step 5 shows how to follow it and find the URL.
For a private repo, and for pushes to the tracked branch to redeploy the app, connect the Lizard GitHub App first with lizard git:
lizard git connectOption B — Deploy local code
From inside your project directory, upload and deploy the current folder (respects .gitignore):
lizard upThe first time, it asks for a service name; the folder name is the default. Then it follows the build and prints the URL, like https://your-app-x1y2z.onlizard.com, once the app is live.
If the folder isn’t linked to a project yet, lizard add and lizard up use your default project and say so. That is the oldest project in your personal workspace; a new account gets one at sign-up. lizard up also links the folder to it, so the next lizard up updates the same service. To deploy into another project, run lizard init --name my-project first. Do that in CI as well, so the deploy lands where you expect.
Lizard detects most stacks on its own. For the exact build command, start command and port of your framework, see the guide for Next.js, React, Vue, Astro, SvelteKit, Node.js, Django, FastAPI, Rails or Go. An app with its own Dockerfile follows Deploy with a Dockerfile.
5. Watch it build and run
lizard ps # services in the project, with status + URL
lizard logs # stream runtime logs (Ctrl+C to stop)
lizard logs --tail 100 # print the last 100 lines and exit
lizard logs --build # the most recent build's logs
lizard open # open the project in the dashboardlizard open shows the same project in the dashboard. For metrics, cost and deploy history, see Observability.
6. Add a database (optional)
Provision Managed Postgres. Every service in the project gets its public DATABASE_URL on the next deploy; to connect over the private network instead, reference it from your service:
lizard add postgres
lizard secrets set DATABASE_URL='${{postgres.DATABASE_PRIVATE_URL}}' --service your-app
lizard redeploy --service your-appLizard resolves ${{postgres.DATABASE_PRIVATE_URL}} at deploy time so the service connects over the project’s private network. It matches the addon’s current name, so update the reference if you rename the addon. Credentials do not rotate on their own; a service picks up new values on its next deploy. See Managed Addons.
Next steps
- Core Concepts: understand projects, services, and the build pipeline.
- Deploying from GitHub: branches, monorepos, and auto-redeploys.
- Deploy: every deploy path, plus workers, scaling, and regions.
- Variables & Secrets: scoping and precedence.
- Networking: attach your own hostname with automatic TLS.
- Deploying an app your AI IDE built: the same steps handed to an agent instead, for an app written in Google Antigravity.
Hosting costs
Pro costs $19 a month with $19 of usage included. Pro 5x ($99) and Pro 20x ($499) include usage equal to their price and raise your limits. Pro 5x and Pro 20x have no limit on sandbox starts. Usage above that is pay as you go at the published rates. Only Pro has a trial: 7 days with $5 of usage; you add a card to start it. See Billing and pricing, and check your limits before deploying.
Updated