Skip to main content

Bundles

Bundles are a zip containing all files necessary to run your application. Bundles are uploaded via our CLI, processed by our server, and later can be turned into a Release.
Bundle TypeDescription
App BundleContains your Electron application code
Site BundleContains your static site assets (js,html,css,etc)

Your first bundle

  1. Make sure you have the Overlayed CLI installed.
  2. Configure your overlayed.config.ts file to include the files you want to bundle:
overlayed.config.ts
import { defineConfig } from "@overlayed/app";

export default defineConfig({
	applicationId: "YOUR_APPLICATION_ID",
	app: {
		include: ["dist-electron/**/*"],
	},
	site: {
		include: ["dist-site/**/*"],
	},
});
  1. Run overlayed bundle to bundle your site, app, or both.
You may run our CLI locally or in a CI/CD pipeline - completely up to your workflow.

Channels

Channels allow you to deploy your application to a subset of users. This is useful for beta testing, early access programs, or paid tiers. Channels may be public or private, and by default every app has a public stable channel. We highly recommend creating a private channel for development and testing. Go here to manage your channels.

Releases

Create a release once you have a bundle ready to deploy. Releases are scoped to a channel. You also may set:
  • Scheduled release date (or instant)
  • Rollout percentage (e.g. 50% of users)
  • Release notes
  • Drafted release

App Releases

When an app is released, we build an electron installer from your bundle file and host it on our CDN. You’ll need to implement app updating in your app to handle the update. All app releases are signed by our trusted certificate.

Site Releases

When a site is released, we’ll deploy your static files to our CDN and make them available at https://yoursite.overlayedapps.com. This URL is accessible here. Our servers will route the user to the correct version of your site based on the channel and app release version.

Safe Site Releases

If you make a site change that depends on an app version (e.g. a new IPC call, or a change to a previous IPC call), you must set a minimum app version for the release. This ensures that users will not get the site update until they’ve updated to that app version, preventing runtime errors.