Hello, we are trying to add pm2 to our existing bun+express server running on Railway.app but having some issues with the setup and configuration. It all seems to be working fine locally, but when deployed to Railway, even though it looks like the process is running, it does not seem to start the server properly (daemon vs runtime maybe?)
Here are the logs from Railway.app when our server is deployed using pm2 to start it:
$ turbo run start --filter={apps/api} --log-prefix=none
• Packages in scope: api
• Running start in 1 packages
• Remote caching disabled
cache bypass, force executing b341b82a7158b9fd
$ pm2 start ecosystem.config.js
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2 I/O] Using: Public key: ********** | Private key: ********* | Machine name: railway-1a6d
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications api not running, starting...
[PM2] App [api] launched (1 instances)
┌────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ api │ default │ 0.0.0 │ fork │ 120 │ 0s │ 0 │ online │ 0% │ 69.7mb │ root │ disabled │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
Tasks: 1 successful, 1 total
Cached: 0 cached, 1 total
Time: 5.505s
Interestingly, I see different output locally when I issue the same pm2 start ecosystem.config.js. It does not spawn. This is what I see when I run it locall:
❯ bun run api:start
$ turbo run start --filter={apps/api} --log-prefix=none
• Packages in scope: api
• Running start in 1 packages
• Remote caching disabled
cache bypass, force executing 8fdb02bc04a8e144
$ pm2 start ecosystem.config.js
[PM2][WARN] Applications api.dupe.com not running, starting...
[PM2] App [api.dupe.com] launched (1 instances)
⇆ PM2+ activated | Instance Name: MacBook-Pro-2.local-b5dc | Dash: https://app.pm2.io/#/r/auh2crryn6h1ern
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0 │ api.dupe.com │ fork │ 0 │ online │ 0% │ 12.1mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
Tasks: 1 successful, 1 total
Cached: 0 cached, 1 total
Time: 183ms
Hello, we are trying to add pm2 to our existing bun+express server running on Railway.app but having some issues with the setup and configuration. It all seems to be working fine locally, but when deployed to Railway, even though it looks like the process is running, it does not seem to start the server properly (daemon vs runtime maybe?)
Here are the logs from Railway.app when our server is deployed using pm2 to start it:
The contents of our
ecosystem.config.js
package.json build and start commands:
Interestingly, I see different output locally when I issue the same
pm2 start ecosystem.config.js
. It does not spawn. This is what I see when I run it locall: