Deploy a website from GitHubwith auto-deploy on every push
Connect your GitHub account, pick a repository, choose a branch, and go live in seconds. Framework projects build automatically, and auto-deploy updates your site on every push.
- Private repos
- Builds set up for you
- Auto-deploy on push
- Every plan
Deploy from GitHub
@janedoe
STEPS
Branch
Root Directory
Project Name
How to deploy a website from GitHub
From GitHub repo to a live website — no CLI, no YAML to write. Static repos deploy as-is; source repos get a build pipeline dplooy sets up for you.
Code not on GitHub? Build it yourself — step-by-step guide- 1
Connect your GitHub account
Click the GitHub button on your dashboard. A popup opens where you authorize dplooy to access your repositories — you only need to do this once. The build pipeline needs permission to add a workflow file to a repo; nothing is written unless you set it up.
Authorize dplooy to access your repositories - 2
Select a repository
Browse or search through your repositories — both public and private — and click the one you want to deploy. Repos you have already deployed sit in a separate Already deployed tab so you can't overwrite a live project by accident; update those with Redeploy instead.
user/portfolioHTMLuser/landing-pageJavaScriptuser/blogCSS - 3
Configure your deploy
Choose a branch, optionally set a root directory (e.g.
dist/orpublic/), and set a project name for your URL.- Branch
- main
- Root directory
- /
- URL
- portfolio.dplooy.com
- 4
Deploy and go live
Hit Deploy. dplooy downloads your repo, processes your files, and serves them on a live URL with SSL — in seconds.
Deployed successfully!
https://portfolio.dplooy.com
- 5
Source repo? dplooy sets up the build
If your repo needs a build (React, Vite, Astro, Nuxt, SvelteKit, Angular...), dplooy reads your
package.json, detects the framework and offers Set up build & deploy. Confirm the build command and output folder, and it commits.github/workflows/dplooy.ymlto your repo and adds a dplooy API key as an encrypted repository secret. The build runs on GitHub's servers and the output deploys to dplooy automatically — on setup and on every future push. Removing the pipeline deletes the workflow file, the secret, and the key.Framework detected: Vite ·npm run build→dist/Every push builds and deploys — live build status in your dashboardThe workflow file is committed to your repo, so run
git pullbefore your next push — otherwise Git rejects it as out of date.
GitHub deploy for real workflows: private repos, any branch, builds included
Everything you need to deploy GitHub repos without leaving your browser.
- Private repos supported
- Deploy from private repositories. Your code is downloaded securely and never stored after deployment.
- Any branch
- Deploy from main, staging, feature branches — whatever you want. Switch branches anytime.
- Build pipeline
- Source repos build on GitHub's servers with a workflow dplooy sets up for you — framework detected, build command pre-filled, output deployed automatically.
- Auto-deploy & redeploy
- Turn on Deploy on every push and each push updates your site. Prefer manual control? Redeploy now pulls the latest commit on demand.
- Secure OAuth
- We use GitHub OAuth with minimal scope. Your credentials are never stored — only a secure access token.
- Multi-file support
- HTML, CSS, JS, images, fonts — everything in your repo is deployed and served with correct MIME types.
GitHub
portfolio
GITHUB
CONNECTED REPOSITORY
To deploy from a different repository or branch, use Deploy from GitHub in the dashboard and reuse this project's name.
Auto-deploy your website on every GitHub push
Turn on Deploy on every push under your project's Deploys tab. It adds a webhook — no files change.
- 1
Push to GitHub
Commit and push your changes to the same branch.
- 2
Auto-deploy kicks in
The push itself triggers the update. Or hit Redeploy now manually.
- 3
Site updated
Same URL, fresh content. Done in seconds.
Deploy from any branch or subfolder
Pick the branch, and the folder your site lives in — dplooy deploys only that path.
- Root directory
- Must contain an
index.html. Framework source with nothing servable gets Set up build & deploy instead of failing. - Branch control
- Staging environments, feature previews, or a dedicated
gh-pagesbranch.
| Your repo | Root directory |
|---|---|
| Plain HTML/CSS/JS at repo root | Leave empty (default: /) |
| Vite / React build output | dist |
| Create React App build | build |
| Next.js static export | out |
| Documentation subfolder | docs |
| Monorepo with packages/website/public | packages/website/public |
- Production
mainportfolio.dplooy.com - Staging / Preview
developportfolio-staging.dplooy.com
GitHub OAuth security and privacy
We take security seriously. Here's how GitHub Deploy keeps your code safe.
OAuth with minimal scope
We request the "repo" and "workflow" scopes — enough to read your repositories and, only if you set up the build pipeline, commit its workflow file. We never touch your repos otherwise, and every workflow install requires your explicit click.
Token storage
Your GitHub access token is stored securely in Firestore and used only to download repos during deployment. You can disconnect at any time from Settings.
No code retention
Your repo is downloaded as a ZIP, files are extracted and uploaded to hosting storage, and the ZIP is discarded. We don't store your source code.
Disconnect anytime
Go to Settings → GitHub to disconnect your account. This revokes access and deletes the stored token immediately.
GitHub deploy on every plan
GitHub Deploy works on every plan. Upgrade for more projects and storage.
| Feature | Free$0/mo | Plus$4.99/mo | Pro$12.99/mo |
|---|---|---|---|
| Total Projects | 3 | 25 | Unlimited |
| Largest File | 5 MB | 50 MB | 100 MB |
| Total Storage | 50 MB | 500 MB | 5 GB |
| Traffic & Bandwidth | Unlimited | Unlimited | Unlimited |
| Project Expiry | 3 days | Never | Never |
| GitHub Deploy | |||
| Private Repos | |||
| Redeploy now / Rebuild & deploy | |||
| Build Pipeline (Actions) | |||
| Deploy on every push |
GitHub Deploy counts toward your project limits just like any other deployment method. The same project redeployed does not count as a new project. Compare every plan
Deploy from GitHub: questions
Does pushing to GitHub auto-deploy my site?
Yes, if you want it to:
- 1Open your project's GitHub dialog and go to the Deploys tab.
- 2Turn on Deploy on every push — dplooy adds a webhook to your repo.
- 3Push to your branch and the site updates automatically.
Build pipeline projects deploy on push by design and don't show the toggle at all. With it off, click Redeploy now after pushing (or Rebuild & deploy on build pipeline projects).
Can I deploy a React / Vite / Next.js app from GitHub?
Yes — dplooy sets up the build for you:
- 1Pick your source repo. dplooy reads your
package.jsonto detect the framework (Vite, Create React App, Astro, Nuxt, SvelteKit, Angular...). - 2Click Set up build & deploy and confirm the build command and output folder.
- 3dplooy commits
.github/workflows/dplooy.ymlto your repo along with an encryptedDPLOOY_API_KEYsecret. The workflow builds on GitHub's servers and deploys the output to dplooy on every push.
Next.js works with static export (output: "export" in next.config). Committed build output still deploys directly via the Root Directory setting. Code not on GitHub? Build it yourself, step by step.
Can I deploy from a private repository?
Yes. When you connect your GitHub account, you authorize dplooy with the "repo" scope, which includes private repositories. All plans support private repos.
Is dplooy a GitHub Pages alternative?
Yes. Deploy any repository — public or private — on every plan, from any branch or subfolder. Framework projects build on GitHub's servers with a workflow dplooy sets up, and the same site can add Dplooy Forms, Bookings and the AI chatbot on Plus and Pro.
What happens if my repo doesn't have an index.html?
If dplooy detects a source project that needs building, it offers to set up the build pipeline right in the deploy dialog. Otherwise the deploy fails with a clear error — your root directory (or repo root if not set) must contain an index.html file. If your site's HTML is in a subfolder, set the Root Directory field.
How do I disconnect my GitHub account?
Open the Deploy from GitHub dialog and click Disconnect, or go to Settings to manage your GitHub connection. This immediately revokes access and deletes the stored token.
How do I know an auto-deploy is running, or that it failed?
The project card shows a Deploying badge while a build is running, and an Auto-deploy failed link if one fails.
Does redeploying create a new project?
No. Redeploying updates the existing project in-place. Static projects are re-downloaded from GitHub using the stored branch and directory settings and the hosted files are replaced; build pipeline projects re-run the build on GitHub's servers and deploy the fresh output. Your URL, analytics, views, and all settings are preserved. The response from the API includes isRedeploy: true.
Is there a size limit for GitHub repos?
Every file in the repo (or the subdirectory you deploy) can be up to your plan's file size — 5 MB on Free, 50 MB on Plus, 100 MB on Pro — and the site has to fit in your storage: 50 MB, 500 MB or 5 GB. The repo download itself can be up to 500 MB; for a bigger repo, deploy just the folder that holds your site.
Ship your GitHub repo in seconds
Create a free account, connect GitHub, and deploy your first project. No credit card, no CLI, no config files.
No credit card required · Free plan includes 3 projects · Upgrade anytime