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

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. 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. 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/portfolioHTML
    user/landing-pageJavaScript
    user/blogCSS
  3. 3

    Configure your deploy

    Choose a branch, optionally set a root directory (e.g. dist/ or public/), and set a project name for your URL.

    Branch
    main
    Root directory
    /
    URL
    portfolio.dplooy.com
  4. 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. 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.yml to 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 dashboard

    The workflow file is committed to your repo, so run git pull before 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

Repository
Build
Deploys

CONNECTED REPOSITORY

janedoe/portfolio
main
Last deployed 2 minutes ago

To deploy from a different repository or branch, use Deploy from GitHub in the dashboard and reuse this project's name.

Auto-deploy is on — pushes update this site
Close

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. 1

    Push to GitHub

    Commit and push your changes to the same branch.

  2. 2

    Auto-deploy kicks in

    The push itself triggers the update. Or hit Redeploy now manually.

  3. 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-pages branch.
Your repoRoot directory
Plain HTML/CSS/JS at repo rootLeave empty (default: /)
Vite / React build outputdist
Create React App buildbuild
Next.js static exportout
Documentation subfolderdocs
Monorepo with packages/website/publicpackages/website/public
Branch → live address
  • Productionmainportfolio.dplooy.com
  • Staging / Previewdevelopportfolio-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.

FeatureFree$0/moPlus$4.99/moPro$12.99/mo
Total Projects325Unlimited
Largest File5 MB50 MB100 MB
Total Storage50 MB500 MB5 GB
Traffic & BandwidthUnlimitedUnlimitedUnlimited
Project Expiry3 daysNeverNever
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:

  1. 1Open your project's GitHub dialog and go to the Deploys tab.
  2. 2Turn on Deploy on every push — dplooy adds a webhook to your repo.
  3. 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:

  1. 1Pick your source repo. dplooy reads your package.json to detect the framework (Vite, Create React App, Astro, Nuxt, SvelteKit, Angular...).
  2. 2Click Set up build & deploy and confirm the build command and output folder.
  3. 3dplooy commits .github/workflows/dplooy.yml to your repo along with an encrypted DPLOOY_API_KEY secret. 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