Deploying Sites

Prepare Your Files

NetLaunch deploys static files from a ZIP archive. Your ZIP must contain an index.html file (at the root or in a subdirectory).

Build your project first

# React / Vite
npm run build        # output: dist/

# Next.js (static)
next build && next export  # output: out/

# Flutter Web
flutter build web    # output: build/web/

# Hugo
hugo                 # output: public/

# Plain HTML
# No build step needed — just ZIP your files

Create a ZIP

# Zip the build output
cd dist
zip -r ../my-site.zip .

Important: ZIP the contents of your build folder, not the folder itself. index.html should be at the root of the ZIP (or NetLaunch will find it in subdirectories).

Deploy via CLI

netlaunch deploy --site my-app --file ./my-site.zip

Output:

NetLaunch Deploy
────────────────────────────────────────
  Site:  my-app.web.app
  File:  my-site.zip (0.45 MB)
────────────────────────────────────────

Uploading and deploying...

✔ Deployed successfully!

  URL:  https://my-app.web.app/
  ID:   abc123def456

Deploy via Dashboard

  1. Click the Deploy button (or the + FAB)
  2. Choose ZIP Archive method
  3. Enter a site name (this becomes your subdomain)
  4. Enter or generate a deployment key
  5. Select your ZIP file
  6. Click Deploy Now
  7. Watch the progress bar — your site is live in seconds

Site Names

Your site name becomes your URL: https://<site-name>.web.app

Rules

Rule Example
3-30 characters my-app ✓ — ab
Start with a letter app-1 ✓ — 1-app
Lowercase letters, numbers, hyphens my-app-v2 ✓ — My_App
No trailing hyphen my-app ✓ — my-app-

Examples

netlaunch deploy -s portfolio -f ./dist.zip
# → https://portfolio.web.app

netlaunch deploy -s my-startup-landing -f ./build.zip
# → https://my-startup-landing.web.app

netlaunch deploy -s docs-v2 -f ./site.zip
# → https://docs-v2.web.app

Redeploying (Updating a Site)

CLI

Deploy with the same site name — it creates a new version on the existing site:

# First deploy
netlaunch deploy -s my-app -f ./v1.zip

# Update with new files
netlaunch deploy -s my-app -f ./v2.zip

The URL stays the same. The new version goes live instantly.

Dashboard

  1. Open the site from your dashboard
  2. Click Redeploy
  3. Pick the new ZIP file
  4. Upload completes → site updated

SPA (Single Page App) Support

All deployments are configured with SPA rewrites automatically. Any route that doesn't match a static file will serve index.html. This means client-side routing (React Router, Vue Router, etc.) works out of the box.