Skip to content

Quickstart

This guide takes you from nothing to a running app on a public URL.

You’ll need:

  • a Watasu account with funds in the personal or team balance that will own the app (card top-ups start at €5)
  • a Git repository with an app you’d like to deploy (any language with a buildpack, or anything with a Dockerfile)
Terminal window
curl -fsSL https://watasuio.github.io/watasu-cli/install.sh | bash

On Windows:

Terminal window
irm https://watasuio.github.io/watasu-cli/install.ps1 | iex

Homebrew works too — see Install the CLI for all options.

Terminal window
watasu login

The CLI opens a browser, you authenticate, and credentials are stored locally for both API calls and Git pushes.

From inside your Git repository:

Terminal window
watasu create my-first-app

The output gives you:

  • a managed URL like https://my-first-app.watasuhost.com
  • a Git remote named watasu pointing at git.watasu.io

If you’d rather skip the local remote, pass --no-remote. An empty app can be created with an unsuspended zero balance; adding any service, including a free add-on, requires a positive balance.

Builds cost €0.50/hour, billed by running seconds, with limits of 16 vCPU and 30 GiB RAM. Before pushing, make sure the app’s billing account has enough available balance for at least one second. A saved card is not required when you already have funds.

A temporary hold funds up to one hour (€0.50), or a shorter deadline if less balance is available. Unused funds return after the build stops. See Build billing.

Terminal window
git push watasu main

Watasu stages your source, builds an image (using your Dockerfile if there is one, otherwise Cloud Native Buildpacks), creates a release, and rolls it out. Build and deploy output streams back to your terminal.

When the deploy finishes, open the app URL.

Most real apps need at least one secret or setting:

Terminal window
watasu config:set SECRET_KEY_BASE=replace-me --app my-first-app

Setting a config var triggers a new release. Your app restarts with the new value.

Terminal window
watasu logs --app my-first-app

Add --tail to stream continuously. This is your first stop whenever something doesn’t look right after a deploy.

Terminal window
watasu addons:create postgresql --app my-first-app

Wait until it’s ready:

Terminal window
watasu pg:wait --app my-first-app

Your app receives DATABASE_URL (and PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD) automatically and restarts with the new environment.

Terminal window
watasu domains:add www.example.com --app my-first-app

Watasu prints the DNS target to point at. Add it at your DNS provider, then:

Terminal window
watasu domains:wait www.example.com --app my-first-app

TLS is provisioned automatically once the domain verifies.

That’s the whole loop: create, push, configure, attach, observe.

Next steps depending on what you want to do: