# Deploy an App

> Part of the NocoDB documentation (Apps). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/apps/deploy-app
Last updated: 2026-10-05

Deploy a NocoDB app to make the current build live at its address, review risky changes before they go live, and restore an earlier version.

<AskNocoAI>
  <Prompt>
    Publish this app
  </Prompt>

  <Prompt>
    What changes since the last deploy of this app?
  </Prompt>
</AskNocoAI>

Deploying a NocoDB app saves the current build as a numbered version, for example **v4**, and makes it live at the [app address](/docs/apps/app-url). People who use the app get the new version the next time they load a page. Until you deploy, your changes show only in the [AI app builder](/docs/apps/app-builder) preview.

In the app, **Deploy** and **Publish** do the same thing. The **Publish** button on the chat ready card opens the same flow.

## Before you begin

* You need the **Owner** or **Creator** role in the base.
* Wait until the build is complete. The **Deploy** button is not available while the topbar shows **Building…**.

## Deploy the app

1. In the AI app builder topbar, click **Deploy**. The **Deploy to Production** panel opens. It shows the version that is **Live now** and the app **URL**.
2. Click **Deploy now**. NocoDB deploys the app and shows "\[version] is live".
3. Click **Open app** to open the deployed app, or click **Done**.

<img alt="The Deploy panel" src={__img0} placeholder="blur" />

The panel shows **Up to date** when there is nothing new to deploy. It shows **Nothing to deploy yet** before the first build.

On the first deploy, NocoDB completes the app address with a random code. To change the address, see [App URL](/docs/apps/app-url).

## Review a deploy

Some deploys can lose data or open the app to people who do not sign in. For these deploys, the panel shows "This deploy needs a review first." and a **Review** button instead of **Deploy now**. A deploy needs a review when it:

| Change                    | What the review shows                                                                               |
| ------------------------- | --------------------------------------------------------------------------------------------------- |
| Deletes data              | The fields or tables that the deploy removes. "Publishing again does not bring it back."            |
| Makes pages public        | The pages that go on the internet. "Anyone with the link can read them. No sign-in, no invitation." |
| Lets visitors run actions | The actions that anonymous visitors can run, and the tables and fields each action reads or writes. |

To deploy after a review:

1. Click **Review**. The publish dialog opens.
2. Check the app address and click **Next**. On the first deploy, you can change the address here.
3. Read each item on the review step. The most serious items show first.
4. Click the main button. Its label tells what it does, for example **Publish v5** or **Publish and drop 2 fields**.
5. When the deploy is complete, click **Close**.

<img alt="The review step of the publish dialog" src={__img1} placeholder="blur" />

When NocoAI changes the app while the dialog is open, the dialog tells you that the app was rebuilt. Review the list again before you publish.

## When a deploy is refused

NocoDB does not deploy an app that is not ready. The publish dialog tells you why, for example:

| Message                           | What to do                                                                                                                          |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Build not ready**               | Wait for the build to complete, then deploy again.                                                                                  |
| **Missing actions**               | Ask NocoAI to fix the actions that the app uses, then deploy again.                                                                 |
| **Integration access required**   | Give the app access to the connection it needs. Click **Connections**.                                                              |
| **Public actions are not sealed** | Ask NocoAI to fix the public actions in the list, then deploy again. For example, an action that runs custom code cannot be public. |
| **Publish stopped part-way**      | Click **Publish again**. The deploy continues from the change that failed.                                                          |

## Version history

Each deploy adds a version to the history. To see it, open **App Settings** → **Version History**. Each row shows the version number, the date and the person who deployed it. The version that people use now has the **Serving** badge.

<img alt="Version History" src={__img2} placeholder="blur" />

### Restore a version

1. In **Version History**, find the version.
2. Click **Restore**. The **Restore v\[version]** dialog opens.
3. Confirm. Visitors get that version again from the next page load.

Restoring changes only the version that the app address serves. The version that served before stays in the history. The build in the AI app builder does not change, so the next deploy ships the current build again.

## Good to know

* Team grants and public pages take effect only when you deploy. See [Members and teams](/docs/apps/members-and-teams) and [Public access](/docs/apps/public-access).
* Changes to **Theme** and **Assistant** in [App settings](/docs/apps/app-settings) apply without a deploy.
* A deploy always goes to Production, the live app address. When you deploy from an [environment](/docs/apps/environments), NocoDB first applies the changes of that environment to Production.

## Related

* [AI app builder](/docs/apps/app-builder)
* [App URL](/docs/apps/app-url)
* [Environments](/docs/apps/environments)
* [Secure vibe coding](/docs/apps/security)

---

## Related pages

- [Apps](https://nocodb.com/docs/apps.md): NocoDB Apps is an AI app builder for creating enterprise-grade work apps: describe the app, and NocoAI builds it on the data you already have, with teams, permissions, an API and an MCP server.
- [Vibe Coding with NocoDB Apps](https://nocodb.com/docs/apps/vibe-coding.md): Vibe coding is making software by describing it to AI. NocoDB Apps bring vibe coding to enterprise-grade work apps, on your own data, with teams, permissions and safe deploys.
- [Create an App](https://nocodb.com/docs/apps/create-app.md): Create a NocoDB app with AI: describe the app, and NocoAI builds it on your data. Start from the App tile in a base, with Build with AI, or in the NocoAI chat.
- [AI App Builder](https://nocodb.com/docs/apps/app-builder.md): Build and change enterprise-grade work apps in NocoDB's AI app builder: describe a change to NocoAI in the chat, and test it in the live preview.
- [Data for Apps](https://nocodb.com/docs/apps/data.md): Build NocoDB apps on the data you already have: NocoDB tables, your own PostgreSQL or MySQL database, and data that syncs from tools such as GitHub and HubSpot, with no record limit.
- [Secure Vibe Coding](https://nocodb.com/docs/apps/security.md): How NocoDB Apps keep AI-built work apps safe: teams and action grants, record rules, reviewed public pages, secrets in connections, scoped API tokens, environments and version restore.
- [Members and Teams](https://nocodb.com/docs/apps/members-and-teams.md): Control who can use a NocoDB app and what they can do in it with app teams, members and action grants.
- [Public Access](https://nocodb.com/docs/apps/public-access.md): Make pages of a NocoDB app public, and choose which actions visitors can run without signing in.
