How to upload a website from Github
Connect your GitHub account and deploy straight from a repository. Every push to your repository's default branch (usually main) updates your live site automatically.
Before you start: we publish your site's built files, not your source code. We look for them in these folders, in this order: build, dist, out, www, static, _site, docs. The first one with an HTML file in it is the one we use. If none of those has one, we check your package.json for React, Vue, Angular or Next.js and use that framework's usual output folder. After that, we use your repository's main folder if it contains HTML files. Make sure your built files are committed and pushed.
Connect and deploy
- On your dashboard, open the Upload file dropdown and choose Deploy from GitHub (it says View Repositories once you're connected), then complete authentication. GitHub will ask which repositories to give us access to — you can grant all, or pick specific ones.

- Your repositories appear once authentication finishes. Click Resync if a new one isn't showing.

- Click the repository you want to host. Give your link a name, or let one be auto-generated.
- Click Deploy.

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.
Plans and limits
GitHub deploy is available on every plan, including Free.
When you deploy from your dashboard, we check your plan's limits first: how many active projects you can have, the file size limit, and a 75 MB maximum repository size. On the Free plan you can update a project 3 times per day, and PHP projects need a paid plan. If you go over a limit, you'll see an upgrade prompt before the deploy starts.
Updates that happen automatically when you push to GitHub don't show a message if something goes wrong. If your site didn't update after a push, deploy it again from your dashboard to see what's wrong.
Updating your site
Push a commit to your repository's default branch (usually main) and we'll pick it up automatically. There's nothing to click here. Pushes to any other branch won't update your site. Just remember the built-files rule above.
If you rename the repository, click Resync in the repository list so we pick up the new name. Deleting a repository on GitHub doesn't delete your site on its own.
Changing which repositories we can see, or disconnecting
Repository access is controlled from GitHub, not from us: GitHub → Settings → Applications → Tiiny Host → Configure.
Important: If you uninstall the Tiiny Host app from GitHub, every site you deployed from GitHub is permanently deleted. If you only remove one repository from the app, that repository's site is deleted. This includes sites on a custom domain. It doesn't go to the Trash and we can't restore it from your dashboard. Revoking Tiiny Host's access in GitHub's authorized apps list doesn't delete anything, but automatic updates will stop working until you connect again. If you only want to stop automatic updates and keep your site, contact support@tiiny.host before you change anything in GitHub.
Common errors
- "GitHub integration not set up": We don't have a connection to your GitHub yet. Open the Upload file dropdown, choose Deploy from GitHub and connect again.
- "Invalid OAuth parameters", "User email not provided" or "Failed to store credentials": The connection with GitHub didn't finish. Try connecting again. If it keeps happening, contact us with the exact message.
- "Unauthorized" when deploying: The link name or custom domain you chose belongs to a different Tiiny Host account. Pick a different link name.
- "Oops! We couldn't deploy this repository. Please try again." or "Failed to fetch the repository": Something went wrong while we were getting your repository. Click Resync and deploy again. If that doesn't work, you may have removed Tiiny Host's access in GitHub, so connect again from Deploy from GitHub. If it still fails, contact us with the exact message.
- "Failed to fetch repositories. Please try again.": We couldn't load your repository list. Try again in a minute or connect again.
- "Invalid link-name: Only letters, numbers, and hyphens/dashes are allowed.": Pick a link name using only letters, numbers and hyphens.
- "My site deployed but it's blank": We probably didn't find your built files. Check that your build output (for example the
distorbuildfolder) is committed and pushed, and that it has anindex.htmlin it. Then click Resync and deploy again.
Updated on: 13/10/2026
Thank you!
