All guides Deployments · 5 min read

Deploy a Next.js app from a ZIP archive

Before you start

You need a verified account, funds in your wallet and one running workspace. A workspace is a dedicated VPS; you can deploy several applications to the same one.

Check that package.json has a build script (next build) and a start script (next start). VibingView builds Node projects by running npm ci when a lockfile is present (otherwise npm install), then npm run build, then starts the container with npm start and PORT=3000.

Create the archive

Zip the project root so package.json sits at the top of the archive. Leave out node_modules and .next — they are rebuilt on the server and only make the upload larger.

zip -r my-app.zip . -x 'node_modules/*' '.next/*' '.git/*' '.env*'

Archives may be up to 100 MB (500 MB uncompressed) and must not contain symlinks or paths that escape the project folder. Never put production secrets in the ZIP; add them as environment variables instead.

Deploy from the dashboard

  1. Open Dashboard → Deploy and choose the workspace (VPS) to deploy to.
  2. Choose the ZIP upload method and select your archive. The runtime and port are detected from its contents (Node, port 3000).
  3. Name the application and pick a generated hostname suffix, then adjust build settings only if your project needs a custom command.
  4. Review the summary and confirm. The deployment is queued for the workspace agent.
  5. Open the application to follow the build log. It is live once the container keeps running and answers on its port; the generated HTTPS hostname is then routed to it.

From the terminal

After pairing the CLI (see the CLI guide), the same upload works from your shell:

node bin/vibingview.mjs deploy <workspace-id> my-app my-app.zip
node bin/vibingview.mjs logs <app-id> build