> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://helpdesk.tiiny.host/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How To Upload a Website From Github

# **Deploy a website from GitHub**

Connect your GitHub account and deploy straight from a repository. Every push updates your live site automatically.

**Before you start:** we deploy from your **build** or **dist** folder, not from your source files. Make sure your build output is committed and pushed, or your site will publish empty.

### Connect and deploy
1. Click the **GitHub icon** on your dashboard and complete authentication. GitHub will ask which repositories to give us access to — you can grant all, or pick specific ones.![](https://storage.crisp.chat/users/helpdesk/website/-/5/9/d/3/59d32bdaa5d1c000/image_87oz8w.png)
2. Your repositories appear once authentication finishes. Click **Resync** if a new one isn't showing.![](https://storage.crisp.chat/users/helpdesk/website/-/5/9/d/3/59d32bdaa5d1c000/image_b8e10g.png)
3. Click the repository you want to host. Give your link a name, or let one be generated.
4. Click **Deploy**.![](https://storage.crisp.chat/users/helpdesk/website/-/5/9/d/3/59d32bdaa5d1c000/image_j6o2va.png)
Your site is live.

### Publishing to a custom domain
Use the domain dropdown next to the link-name field and pick your custom domain instead. 
It needs to be connected and validated first — see [Connecting a Domain You Already Own](https://helpdesk.tiiny.host/en/article/connecting-a-domain-you-already-own-1sfq7hh/).

### Updating your site
Push a commit and we'll pick it up automatically — there's nothing to click here. Just remember the build folder rule above.

### Changing which repositories we can see
Repository access is controlled from GitHub, not from us: **GitHub → Settings → Applications → Tiiny Host → Configure**. Revoking access there disconnects the integration.

### My site deployed but it's blank
Nine times out of ten this is the build folder. Check your build or dist folder is committed and pushed, then click **Resync** and deploy again.

