# Deployments

Put a website or app a bot built on the internet, with its own link and optionally your own domain. Deploy, redeploy, configure, stop, and delete.

Canonical page: https://themachine.myapps.ai/docs/desktop/deployments

A **deployment** publishes a folder from a bot's computer as a live website or
app, with its own link that anyone can visit. It stays online even when the
bot's computer is asleep.

| | Deployment | [Shared preview link](/docs/desktop/chat/find-share-export) |
|---|---|---|
| **Stays online** | Yes, until you stop it | Only while the site runs on the bot's computer |
| **Own address** | Yes, plus custom domains | A temporary link |
| **Use it for** | Real websites | Quick feedback while building |

## Deploy a folder

### Have the bot build the site

For example:

> Build a one-page website for my bakery in a folder called site. Keep it
> simple: just HTML and CSS.
### Deploy

Either ask the bot:

> Deploy the site folder.

Or do it yourself: open [the bot's computer](/docs/desktop/cloud-computer/files),
go into the folder, and click **Deploy** followed by its name. At the top
level, click **Deploy…** and choose the folder.
### Get the link

When it's done, you see **Live:** with the link. Click it to open the site.
If it fails, the message says why. Ask the bot to fix it, then deploy again.

## The Deployments page

![The Deployments page listing sites and apps with their status and links](/images/docs/desktop/deployments.webp)

Open **Tools → Deployments** at the bottom of the sidebar. It lists every site
and app your bots have published.

- **All bots** filters to one bot.
- The refresh button updates the list.

Each row shows the name, link, bot, when it was last deployed, and its
status:

| Status | Means |
|---|---|
| **Live** | Online. |
| **Queued** | Waiting to start. |
| **Building** | Being prepared. |
| **Deploying** | Going online. |
| **Failed** | Something went wrong. Check **Logs**. |
| **Stopped** | Taken offline. Can be deployed again. |
| **Not deployed** | Set up, but never published. |

### Row actions

![One deployment with its actions](/images/docs/desktop/deployment-row.webp)

| Action | What it does |
|---|---|
| **Redeploy** / **Deploy** | Publish again, for example after the bot changed the site. Tried once; if it fails, check **Logs** and try again. |
| **Logs** | The latest deployment's build and runtime logs. Click **Reload** for the newest. |
| **Edit** | Open the [settings](#deployment-settings). |
| **Stop** | Take the site offline. The app and its settings are kept, so you can deploy again later. |
| **Delete** | Take the site down and delete the app. This can't be undone. |

## Update a live site

![A deployment going from Deploying to Live](/images/docs/desktop/anim-deploy.webp)

1. Ask the bot to make the change, in the thread where it built the site:

   > Change the opening hours to 8am–4pm.

2. Ask it to deploy again, or click **Redeploy** on the Deployments page.

## Deployment settings

![The deployment settings drawer with a custom domain](/images/docs/desktop/deployment-config.webp)

Click **Edit** on a deployment. Settings are saved to the bot's project.
**Saving doesn't put changes live: click Redeploy afterwards.**

| Setting | Use it for |
|---|---|
| **Name** | The app's name. |
| **Enabled** | Turn the app on or off. |
| **Custom domains** | Your own web addresses, one per line. See [below](#use-your-own-domain). |
| **Framework** | The kind of project, so it builds correctly. |
| **Build command** | The command that builds the site, if it needs one. |
| **Output folder** | Which folder holds the finished site. |
| **Environment variables** | Settings the app reads when it runs. |
| **Source** | Where the code comes from: a git repository, or a folder uploaded from a bot's computer. |

If you don't know what the build settings mean, leave them as they are, or ask
the bot to set them.

> **Environment variables aren't secret**
> Environment variables are stored as plain text. Don't put passwords or API
> keys there.

## Use your own domain

To show your site at your own address, like `www.risebakery.com`:

1. Open **Edit** on the deployment.
2. Type the domain under **Custom domains**, one per line.
3. In your domain provider's settings, point the domain's DNS at the
   deployment. Your provider's help pages explain how.
4. Save, then **Redeploy**.

The settings show which domains are **currently serving**. A domain goes live
once its DNS points at the deployment.
