Skip to content

beam-cloud/beam-js

Repository files navigation

Beam TypeScript/JavaScript SDK - Beta

The official TypeScript/JavaScript SDK for Beam Cloud - a platform for deploying and running containerized workloads at scale.

Installation

npm install @beamcloud/beam-js@rc

or with yarn:

yarn add @beamcloud/beam-js@rc

Quickstart

Run a simple Node.js server in a sandbox.

import { beamOpts, Image, Sandbox } from "@beamcloud/beam-js";

beamOpts.token = process.env.BEAM_TOKEN!;
beamOpts.workspaceId = process.env.BEAM_WORKSPACE_ID!;

async function main() {
  const image = new Image({
    baseImage: "node:20",
    commands: [
      "apt update",
      "apt install -y nodejs npm",
      "git clone https://github.com/beam-cloud/quickstart-node.git /app",
    ],
  });

  const sandbox = new Sandbox({
    name: "quickstart",
    image: image,
    cpu: 2,
    memory: 1024,
    keepWarmSeconds: 300,
  });

  const instance = await sandbox.create();

  const process4 = await instance.exec("sh", "-c", "cd /app && node server.js");

  const url = await instance.exposePort(3000);
  console.log(`Server is running at ${url}`);
}

main();

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.