Nimbus Land takes the code for your website or web app and puts it online at its own secure address. It works out what your code needs, builds it and keeps it running, so you don't set up or look after a server.
What you need#
- A Nimbus Land account. Once you have an account, sign in at nimbusland.ca.
- Your code, in one of two places:
- a GitHub repository, to deploy from the console in your browser, or
- a folder on your computer, to deploy with the
nimbuscommand-line tool.
You don't need a configuration file. Most Node.js, Python, Ruby, PHP, Go, Java and Phoenix projects deploy as they are, and so do plain HTML sites.
Deploy from GitHub#
Open the apps list. After you sign in you see Applications. Choose New (or Deploy an app if you have none yet). The Deploy a new app page opens on the GitHub tab.
Connect GitHub, the first time only. If your organization hasn't connected GitHub yet, choose Install the GitHub App and pick which repositories Nimbus Land may read. This needs an organization admin; if you aren't one, the page tells you to ask one.
Choose your repository from the list. If it's missing, use Manage repository access on GitHub, then Refresh.
Read the plan. Nimbus Land reads your code (Working out what will run…) and shows what it found, then a list headed What we'll set up:
- Your app: how big each copy of your app is, with Change size.
- A database, if your code looks like it uses one. Remove it if you don't want it.
- Before each release: a command such as database migrations, if your framework has one.
- Web address: your app's address. Rename changes the name.
- Updates: Deploy on every push to your branch is on, so each push to GitHub puts the new version online.
- Settings & secrets: settings Nimbus Land prepared for you. View shows them.
Below the list, Estimated cost shows what the app adds to your monthly bill. Customize holds the branch, the release command and environment variables, if you need to change them.
Choose Deploy. The button carries your app's name, for example Deploy shop.
What the plan's label means#
- Ready: nothing to check. Deploy.
- Check this: notes worth a look, such as a start command that ignores the port Nimbus Land gives your app. You can still deploy.
- Blocked: something will certainly fail, such as a missing file. Fix what it names, push the change, then choose the repository again.
If your repository holds more than one app, the plan asks you to Choose the app to deploy first.
While it builds#
The console takes you to your app's Overview. The Running now card follows the steps Build, Deploy, Rollout and Live.
First Nimbus Land builds your app: it installs your dependencies and prepares everything it needs to run. Build logs on the card shows the build's output as it happens. Then Nimbus Land starts the new release on one or more instances and checks that they come up.
Your app is live#
When the card reaches Live, Open app appears at the top of the page. Your app's address is:
https://<name>.nimbusapps.ca
<name> is your app's name, and HTTPS is included. App names are unique across Nimbus Land, so if your repository's name is taken, the plan picks another and says so.
From now on, each push to your branch deploys a new version.
Deploy from your computer instead#
The nimbus command-line tool deploys the folder you are in, whether or not it is on GitHub.
Install it. On macOS or Linux with Homebrew:
brew install nimbus-land/tap/nimbusWithout Homebrew:
curl -fsSL https://get.nimbusland.ca/install.sh | shSign in. Your browser opens to confirm it:
nimbus loginIn your project's folder, deploy:
nimbus deploy
nimbus deploy uploads the folder, builds it and waits until the new version is live, then prints its address. If the plan is blocked, it prints what to fix instead. The app is named after the folder; use nimbus deploy --name <name> to pick another name. Run nimbus status to see how it is doing and nimbus logs to read its output.
You can also ask Claude to deploy for you: see Claude.
Where to next#
- Add a database or file storage: App dependencies.
- Settings and API keys: Secret environment variables.
- Use your own domain, such as
www.example.com: Custom domains. - See visitors and errors: Traffic and analytics and Errors.
- Your language: Node.js, Python, Ruby, PHP, Go, Java, Elixir and Phoenix.
- A plain HTML or Vite site: Static sites.
- Your own Dockerfile: Dockerfile.
- The words used in these guides: Key ideas.
If something goes wrong#
- The plan says Blocked. Its message names what to add or change. Fix it in your code, push, and choose the repository again so the plan is checked afresh.
- The build fails. Open Build logs on the Overview. The last lines usually name the problem, and the failure reason sits at the top of the build page.
- The build works but the app never goes live. Your app probably isn't listening on the port Nimbus Land gives it. See Apps: Troubleshooting.
Also available as Markdown.