> For the complete documentation index, see [llms.txt](https://prodocs.webhash.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prodocs.webhash.com/managing-deployments.md).

# Managing Deployments

Once you've published a site, WebHash Pro gives you everything you need to keep track of it: a dashboard with your storage usage and stats, a searchable list of everything you've deployed, and a detailed view of each deployment with its CID, gateway URL, connected domains, and live build logs.

This guide walks through reading your dashboard, browsing your deployments, opening a deployment's details, visiting your live site, redeploying, and rolling back to a previous version.

{% hint style="info" %}
**Where to find these pages.** Everything below lives in the left sidebar after you sign in at [pro.webhash.com](https://pro.webhash.com): **Dashboard**, **Repositories**, and **Deployments**.
{% endhint %}

***

## The Dashboard overview

When you sign in you land on the **Dashboard** - your home base. The top of the page shows four stat cards, and below them is a **Recent deployments** list.

![Dashboard overview with stat cards](/files/oysSxFcGLvJ4ac0Tv7CU)

### Reading the storage meter

The **Storage** card is the first thing to check. It shows:

* How much storage you've used out of your total quota - for example `4.2 MB / 20 MB`.
* A colored progress bar that fills as you use more space. The bar is **green** when you're comfortable, turns **amber** at about 70% full, and **red** at about 90% full.
* A **Buy storage · $5/GB** link that takes you straight to [Billing](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/billing.md).

Your first **20 MB is free**. Storage is measured across all of your successful deployments, so deleting a deployment frees its space back up.

{% hint style="info" %}
**Why does my storage go up when I redeploy?** Each successful deployment is pinned to IPFS and counts toward your usage. If you redeploy the same site several times, each build is stored separately. If you're getting close to your quota, you can delete old deployments you no longer need (see [Deleting a deployment](#deleting-a-deployment-to-free-up-storage) below).
{% endhint %}

### Reading the other stat cards

| Card                  | What it tells you                                                                                                                                                      |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Deployments**       | The total number of deployments you've made, with a quick breakdown underneath: how many are **live**, **failed**, and **active** (still queued or building).          |
| **Published to IPFS** | How many of your deployments are successfully pinned to IPFS, your overall **success rate**, and how many distinct projects (repositories) you have.                   |
| **ENS Domains**       | How many ENS domains you've added, with a **Manage domains** link to the [Domains](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/ens-domains.md) page. |

The subtitle at the very top of the page also tells you when you **last deployed** (for example, "Last deployed 3h ago").

### The Recent deployments list

Below the cards, **Recent deployments** shows your most recent deployments (newest first). Each row packs in a lot of useful information:

* **Status badge** - a colored label showing where the deployment is:
  * **Published** (green) - built successfully and live on IPFS.
  * **Building** (blue, spinning) - currently being built.
  * **Queued** (amber) - waiting to start.
  * **Failed** (red) - the build didn't complete.
* **Name** - the repository or project name. Click it to open the deployment's [details](#viewing-a-deployments-details).
* **Visit** - for published deployments, a link that opens your live site in a new tab.
* **Redeploy** - for failed deployments, a button to try the build again (see [Redeploying](#redeploying)).
* **Meta row** - the project type (Static / React), the branch, how long ago it was deployed, its size, and the **connected domain** (shown in green with a globe icon if one is attached, or "No domain" otherwise).
* **CID** - the short form of the deployment's IPFS Content Identifier, with a one-click **copy** button.

To see everything you've ever deployed, click **View all** at the top-right of the list, or use the navigation described next.

{% hint style="info" %}
**What's a CID?** A CID (Content Identifier) is the unique fingerprint IPFS gives your site's content. Anyone with the CID can fetch exactly what you published, from any IPFS gateway. You'll see CIDs throughout WebHash Pro.
{% endhint %}

***

## Browsing all your deployments

WebHash Pro groups your deployments **by repository**, which makes it easy to see the full history of any one project.

### Step 1 - Open the Repositories view

In the sidebar, click **Deployments** (or **View all** on the dashboard). This opens the **Repositories** page, where each card represents one repository you've deployed.

![Repositories page card grid](/files/zYh1uLG6h7tlr8KfiA5B)

Each repository card shows:

* The repository name and its project-type icon (Static / React / other).
* The full `owner/repo` name.
* The **latest branch** deployed.
* The total number of **deployments** for that repo.
* The **success rate** across those deployments.
* When it was **last deployed**.

Use the **Search repositories…** box at the top-right to filter by name, branch, or project type. If you have many repositories, use the pagination controls at the bottom to move between pages.

At the top-right of any card, the **open-in-new-tab** icon takes you straight to the latest live deployment.

### Step 2 - Open a repository's deployment history

Click **View Deployments** on a repository card to see every individual deployment for that repo.

![Per-repository auto-deploy card and deployments](/files/Qygf0fQQyHKx6d9FEGgi)

On this page you'll find:

* An **Auto-deploy on push** card at the top, with a toggle to automatically deploy this repo whenever you push to its chosen branch (see [Auto-Deploy from GitHub](/auto-deploy.md)).
* A grid of deployment cards, newest first. Each card shows the **branch**, a short form of the **CID**, the **status** (Success / Failed), the **deploy date**, the **size**, and any **connected domains** (with a link to visit each one).
* **View Details**, **Connect Domain**, and an **open-in-new-tab** button on each successful deployment.

Use the **Search deployments…** box to filter this repo's deployments by branch, CID, status, or build command.

***

## Viewing a deployment's details

Click a deployment's name (on the dashboard) or **View Details** (on a repository's page) to open the **Deployment Details** page.

![Deployment Details page for a successful deploy](/files/nlFae4CQ1gGO8FDZWwuL)

The page is organized into a few sections.

### Deployment Information

The left column lists the basics:

* **Repository** - the full `owner/repo` name.
* **Branch** - the branch that was deployed.
* **Deployed** - the exact date and time.
* **Project Type** - Static, React, or other.
* **Size** - how much space this deployment uses (in MB).
* **Build Command** and **Output Directory** - shown for projects that use a build step (such as React apps).

### IPFS Information - copying the CID and gateway URL

For a successful deployment you'll see an **IPFS Information** block with two fields, each with its own **copy** button:

* **CID** - your content's permanent IPFS fingerprint.
* **Gateway URL** - a ready-to-share web address that serves your site through an IPFS gateway.

1. Click the **copy** icon next to **CID** to copy the full Content Identifier to your clipboard. You'll see a "CID copied to clipboard" confirmation.
2. Click the **copy** icon next to **Gateway URL** to copy the full link. You'll see a "Gateway URL copied to clipboard" confirmation.

### Connected Domains

The right column shows any ENS domains pointed at this deployment. For each connected domain you can:

* Click the **open-in-new-tab** icon to visit the domain (`https://yourname.eth`).
* Click the **unlink** icon to **disconnect** the domain from this deployment.

If nothing is connected yet, you'll see "No domains connected to this deployment."

To attach a domain, click **Connect ENS Domain** (see [Rolling back by pointing your domain at a previous version](#rolling-back-by-pointing-your-domain-at-a-previous-version) below and the full [Connecting an ENS Domain](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/ens-domains.md) guide). This button is only available once the deployment has succeeded and has a CID.

{% hint style="info" %}
**Self-custodial by design.** Connecting or disconnecting an ENS domain updates the domain's contenthash **on-chain**, signed by you in your own wallet. WebHash never holds your keys and can't change your domain on its own.
{% endhint %}

### Visiting your live site

The fastest way to open your published site is the **Visit Deployment** button on the details page - it opens the IPFS gateway URL in a new tab.

You can also visit a site from:

* The **Visit** link on a dashboard "Recent deployments" row.
* The **open-in-new-tab** icon on a repository card or deployment card.
* Any connected ENS domain.

***

## Reading the deployment logs

At the bottom of the Deployment Details page is the **Deployment Logs** panel, which shows the build output for that deployment.

* While a deployment is **building**, the logs stream in **live** - new lines appear automatically every couple of seconds, and a spinning indicator with the current **status badge** (Pending / Building) sits above them. The view auto-scrolls to the newest line.
* Once a deployment finishes, the panel shows the **complete, saved logs** for that build, and the status badge turns to **Success** or **Failed**.

Log lines are color-coded: **blue** for informational messages, **green** for success messages, and **red** for errors. Each line is timestamped.

### When a deployment fails

If a build fails, the details page shows a red **Deployment Error** card with the error message, and the logs panel ends in red. Read the error and the last few log lines to understand what went wrong - common causes are a missing or incorrect **build command**, the wrong **output directory**, or a build that requires a server (which IPFS can't run).

{% hint style="warning" %}
**IPFS serves static files only.** Server-side rendering, API routes, and databases won't work on IPFS. If your build fails or your site looks broken, make sure you're deploying a **static** site or a **client-side** React app. See [Deploying a Repository](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/deploying.md) for project-type guidance.
{% endhint %}

***

## Redeploying

Redeploying runs a fresh build of the **same repository and branch** with the same settings, producing a new deployment (and a new CID if anything changed).

### Redeploying a failed deployment

1. On the **Dashboard**, find the failed deployment in the **Recent deployments** list.
2. Click the **Redeploy** button on that row.
3. WebHash starts a new build and takes you to the new deployment's details page, where you can watch the logs.

### Redeploying after pushing new code

To publish changes you've made to your code, the simplest path is to start a **New Deployment** for the same repository and branch:

1. Click **New Deployment** in the sidebar.
2. Choose the same repository and branch.
3. Confirm your project settings and click **Deploy to IPFS**.

The new build will include your latest commits and produce a new CID.

{% hint style="success" %}
**Tip - automate it.** If you redeploy often, turn on **Auto-deploy on push** for the repository (on its per-repository deployments page). After that, every push to the chosen branch deploys automatically. See [Auto-Deploy from GitHub](/auto-deploy.md).
{% endhint %}

{% hint style="warning" %}
**"Storage quota exceeded"?** If a redeploy would push you past your storage limit, WebHash stops the build and prompts you to buy more storage. Each successful deployment counts toward your quota, so heavy redeploying uses space. Head to [Billing](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/billing.md) to top up (you get 20 MB free), or delete old deployments to make room.
{% endhint %}

{% hint style="info" %}
**"Reconnect GitHub to redeploy"?** If your GitHub authorization has expired or been revoked, you'll be prompted to reconnect before redeploying. Sign in again or use **Add Repository Access** on the New Deployment page to restore access.
{% endhint %}

***

## How rollback works

WebHash Pro doesn't have a single "rollback" button - and it doesn't need one. Because every deployment keeps its own permanent CID on IPFS, **a previous version of your site is never overwritten or lost**. Rolling back simply means making an older, known-good version live again. There are two ways to do it.

### Option 1 - Redeploy the version that worked

If you want to return to the exact code of an earlier release, start a **New Deployment** from the commit or branch that built correctly. This produces a fresh, working deployment you can point your domain at.

### Option 2 - Rolling back by pointing your domain at a previous version

If your site is served through an ENS domain, the cleanest rollback is to point the domain back at the **CID of a previous, working deployment**. The older deployment is still pinned on IPFS, so it's ready to serve immediately.

1. In the sidebar, click **Deployments**, open the affected repository, and click **View Deployments**.
2. Find the **previous, successful** deployment you want to restore (check the deploy date and status).
3. Open it (**View Details**) and confirm it's the version you want - you can use the **Visit Deployment** button to preview it via its gateway URL.
4. Click **Connect ENS Domain** (or **Connect Domain** on the repository's deployment card).
5. Connect your wallet, select your domain, and confirm. This updates your domain's ENS contenthash on-chain to the older deployment's CID - **you sign the transaction in your own wallet**.

Within a short time, anyone visiting your ENS domain will see the previous version again.

{% hint style="info" %}
**Keep the old CID handy.** Before rolling forward to a new version, it's worth copying the CID of your current working deployment (use the copy button on the details page). If you ever need to roll back, you'll have the exact CID to point your domain at.
{% endhint %}

***

## Deleting a deployment to free up storage

If you no longer need an old deployment, deleting it removes it and **frees up the storage it was using**, since your usage is calculated from your successful deployments.

{% hint style="warning" %}
**Deletion is permanent.** Removing a deployment unpins it from WebHash's storage. If an ENS domain still points at that deployment's CID, the site may stop loading reliably. Make sure your domain points at a deployment you intend to keep before deleting an old one.
{% endhint %}

***

## What's next?

* [**Deploying a Repository**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/deploying.md) - project types, build commands, and output directories.
* [**Auto-Deploy from GitHub**](/auto-deploy.md) - deploy automatically on every push.
* [**Connecting an ENS Domain**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/ens-domains.md) - point a `.eth` name at your site, fully self-custodial.
* [**Storage & Billing**](https://github.com/WebHash-eth/webhash-pro-app/blob/main/docs/billing.md) - how the 20 MB free tier and $5/GB pricing work, paid in crypto.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://prodocs.webhash.com/managing-deployments.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
