RuntimePackage ManagerBundlerTest RunnerLinterFormatterGuidesReferenceBlogFeedback

Deploy a Bun application on Render

Render is a cloud platform for building, deploying, and scaling apps.

It provides auto deploys from GitHub, a global CDN, private networks, automatic HTTPS setup, and managed PostgreSQL and Redis-compatible Key Value stores.

Render supports Bun natively. You can deploy Bun apps as web services, background workers, cron jobs, and more.


As an example, this guide deploys an Express HTTP server to Render.

  1. Step 1

    Create a new GitHub repo named myapp. Git clone it locally.

    shell
    git clone git@github.com:my-github-username/myapp.git
    cd myapp
    
  2. Step 2

    Add the Express library.

    shell
    bun add express
    
  3. Step 3

    Define a server with Express:

    app.ts
    import express from "express";
    
    const app = express();
    const port = process.env.PORT || 3001;
    
    app.get("/", (req, res) => {
    	res.send("Hello World!");
    });
    
    app.listen(port, () => {
    	console.log(`Listening on port ${port}...`);
    });
    
  4. Step 4

    Commit your changes and push to GitHub.

    terminal
    git add app.ts bun.lock package.json
    git commit -m "Create simple Express app"
    git push origin main
    
  5. Step 5

    In your Render Dashboard, click New > Web Service and connect your myapp repo.

  6. Step 6

    In the Render UI, provide the following values during web service creation:

    RuntimeNode
    Build Commandbun install
    Start Commandbun app.ts

Once the build finishes, your web service is live at its assigned onrender.com URL.

View the deploy logs for details. See Render's documentation for more on deploys.