Skip to main content

Overview

Zip file deployments allow you to deploy applications without connecting a Git repository. This is useful for:
  • Static site exports from any build system
  • Pre-built applications from CI/CD pipelines
  • Quick prototypes without version control
  • Legacy applications without Git repositories
  • Manual deployments from local builds

Creating a Bare App

Bare apps are applications without Git integration that accept zip file uploads.
1

Create App

Log in to your Stormkit dashboard and click Create new app
2

Select Bare App

Choose Create bare app from the options
3

Name Your App

Enter a name for your application
4

Configure Environment

Set up your app’s environment variables, domains, and other configurations

Deployment Types

Static Deployments

Deploy static websites with HTML, CSS, JavaScript, and assets. Configuration:
  • Leave Start command empty
  • Upload zip with static files

Server Deployments

Deploy applications with server-side logic. Configuration:
  • Set Start command before uploading zip
  • Include server executable or entry point in zip
If you specify a start command before uploading the zip file, the deployment will be treated as a server deployment instead of a static deployment.

Preparing Your Zip File

Static Site Structure

For static sites, your zip should contain build output:

Server Application Structure

For server applications, use the .stormkit folder structure:
See How We Deploy for folder structure details.

Creating the Zip File

Using Command Line

Using GUI

Windows:
  1. Right-click the folder containing build files
  2. Select Send to > Compressed (zipped) folder
macOS:
  1. Right-click the folder containing build files
  2. Select Compress “folder-name”
Linux (GNOME):
  1. Right-click the folder containing build files
  2. Select Compress…
  3. Choose ZIP format

Deploying the Zip File

1

Navigate to App

Open your bare app in the Stormkit dashboard
2

Click Deploy

Click the Deploy button to open the deployment modal
3

Select Zip File

Click Choose file and select your zip file
4

Configure Deployment

Optionally set environment-specific variables or settings
5

Deploy

Click Deploy now to start the deployment
The deployment process will:
  1. Upload your zip file
  2. Extract and validate contents
  3. Deploy static files to CDN
  4. Configure server functions (if applicable)
  5. Generate preview URL

Verifying Deployment

1

Wait for Completion

Monitor the deployment progress in the dashboard
2

Check Deployment

After completion, click the Preview button
3

Test Application

Open the provided URL to verify your app is live

Example: React App Deployment

Build Your App

Typical React Build Output

Deploy

  1. Upload my-react-app.zip through Stormkit dashboard
  2. Wait for deployment to complete
  3. Access your app at the preview URL

Example: Next.js Static Export

Configure Static Export

next.config.js

Build and Package

Deploy

Upload nextjs-app.zip to your bare app.

Example: Vue.js Deployment

Build Your App

Deploy

Upload vue-app.zip to your bare app.

Example: Server Application (Node.js)

Prepare Server App

Server Entry Point

.stormkit/server/index.js

Package and Deploy

Upload server-app.zip to your bare app.

CI/CD Integration

Integrate zip deployments into your CI/CD pipeline.

GitHub Actions Example

.github/workflows/deploy.yml

GitLab CI Example

.gitlab-ci.yml

Limitations

No Git Integration

  • No automatic deployments on push
  • No deployment history from Git commits
  • No branch-based environments

Manual Process

  • Each deployment requires manual zip upload (unless automated via CI/CD)
  • No pull request previews
  • No Git-based status checks

File Size Limits

Zip file uploads have size limitations. For very large applications, consider:
  • Connecting a Git repository instead
  • Optimizing build output
  • Removing unnecessary files

Best Practices

Include Only Necessary Files

Exclude development files from your zip:

Optimize Build Output

  • Minify JavaScript and CSS
  • Compress images
  • Remove source maps (unless needed)
  • Tree-shake unused code

Version Your Zips

Name zip files with versions for tracking:

Test Locally First

  1. Extract your zip file
  2. Serve it with a local server
  3. Verify all assets load correctly
  4. Then upload to Stormkit

Troubleshooting

Missing index.html

If you see “Top-level /index.html missing”:
  • Ensure index.html is at the root of your zip
  • Check that you’re zipping the build directory contents, not the directory itself

Broken Asset Paths

If CSS/JS files don’t load:
  • Check that asset paths are relative or absolute
  • Verify build tool configuration for production
  • Ensure base URL is set correctly

Server Function Errors

If server functions fail:
  • Verify .stormkit/server folder structure
  • Check that entry file exports handler function
  • Include all required node_modules in zip
  • Ensure @stormkit/serverless is installed

How We Deploy

Understand folder structure and deployment process

Configuration

Configure environment settings

Application Runtime

Deploy server applications

Troubleshooting

Fix common deployment issues