mirror of
https://github.com/oven-sh/bun
synced 2026-02-12 03:48:56 +00:00
* Docs : Added instructions to run bun apps in daemon (PM2) to address issue #4734 Added instructions to set bun as pm2 interpreter to extend same functionality as node.js apps. * Add pm2 guide * Add pm2 file --------- Co-authored-by: Colin McDonnell <colinmcd94@gmail.com>
55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
---
|
||
name: Run Bun as a daemon with PM2
|
||
---
|
||
|
||
[PM2](https://pm2.keymetrics.io/) is a popular process manager that manages and runs your applications as daemons (background processes).
|
||
|
||
It offers features like process monitoring, automatic restarts, and easy scaling. Using a process manager is common when deploying a Bun application on a cloud-hosted virtual private server (VPS), as it:
|
||
|
||
- Keeps your Node.js application running continuously.
|
||
- Ensure high availability and reliability of your application.
|
||
- Monitor and manage multiple processes with ease.
|
||
- Simplify the deployment process.
|
||
|
||
---
|
||
|
||
You can use PM2 with Bun in two ways: as a CLI option or in a configuration file.
|
||
|
||
### With `--interpreter`
|
||
|
||
---
|
||
|
||
To start your application with PM2 and Bun as the interpreter, open your terminal and run the following command:
|
||
|
||
```bash
|
||
pm2 start --interpreter ~/.bun/bin/bun index.ts
|
||
```
|
||
|
||
---
|
||
|
||
### With a configuration file
|
||
|
||
---
|
||
|
||
Alternatively, you can create a PM2 configuration file. Create a file named `pm2.config.js` in your project directory and add the following content.
|
||
|
||
```javascript
|
||
module.exports = {
|
||
name: "app", // Name of your application
|
||
script: "index.ts", // Entry point of your application
|
||
interpreter: "~/.bun/bin/bun", // Path to the Bun interpreter
|
||
};
|
||
```
|
||
|
||
---
|
||
|
||
After saving the file, you can start your application with PM2
|
||
|
||
```bash
|
||
pm2 start pm2.config.js
|
||
```
|
||
|
||
---
|
||
|
||
That’s it! Your JavaScript/TypeScript web server is now running as a daemon with PM2 using Bun as the interpreter.
|