Repository navigation
The Only Deno-Native Process Manager You Will Ever Need #37034
ra-sun-god
started this conversation in
General
Replies: 1 comment
|
Interesting, I will try it |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Deno makes building and running JavaScript and TypeScript applications straightforward. But when you move to production, you still need a reliable way to keep applications running, restart them after crashes, use multiple CPU cores, and monitor their health.
That’s where pboss comes in.
pboss is an open-source, runtime-agnostic process manager with native Deno support. It uses Deno’s native APIs rather than relying on Node.js compatibility layers to manage its own operations. It also supports Node.js, Bun, and applications written in other languages.
1. Native Deno integration, not a Node.js compatibility workaround
pboss runs on Deno and uses its native APIs for process management and server operations. This includes APIs such as
Deno.Command,Deno.serve, and Deno's file and networking APIs where appropriate.Your Deno application can remain a Deno application. You don't need to migrate it to Node.js just to use a process manager.
2. Install pboss with Deno
Follow the installation instructions in the official pboss documentation.
You can also explore the source code and report issues through the GitHub repository.
3. Start your first Deno application
Once installed, use pboss to start your Deno application. For example:
You can use pboss to manage your application as a persistent process instead of manually restarting it whenever something goes wrong.
Check the official documentation for the supported commands and configuration options for your installed version.
4. Use multiple CPU cores with Deno clustering
A single application process may not fully utilize a multi-core server. Clustering allows you to run multiple worker processes so your application can take advantage of available CPU resources.
For HTTP applications, configure your server and process manager to work together correctly. Depending on your server architecture, port-sharing support such as
reusePortmay also be useful.The important distinction is that pboss manages independent operating-system processes; it does not depend on Node.js's
node:clustermodule to provide Deno clustering.See the pboss documentation for the supported cluster configuration and commands.
5. Automatic restarts and process persistence
Applications can crash because of unhandled errors, unexpected exits, or external failures. A production process manager should help recover from those failures.
pboss provides process lifecycle management and automatic restart capabilities, helping keep applications running without requiring you to manually restart them after every crash.
It also supports persistent process management so configured applications can be managed across system or process-manager restarts.
6. PM2-compatible ecosystem configuration
Already using PM2? You may be able to reuse your existing ecosystem configuration with pboss.
For example, a PM2-style configuration can look like this:
Start the configuration with:
pboss supports PM2-compatible ecosystem configuration, making migration easier for developers familiar with the PM2 workflow. However, compatibility does not guarantee that every PM2 option behaves identically, so check the documentation for supported fields and differences.
7. Logs and monitoring
When an application fails, you need more than a process list. You need to understand what happened.
pboss provides process-management and monitoring capabilities that help you inspect application activity, diagnose problems, and keep track of your workloads.
For additional visibility across multiple servers, ProcBoss Cloud adds centralized log streaming and server-level monitoring.
8. Health checks and production controls
A process can be running without actually serving requests correctly. Health checks help distinguish between a process that exists and an application that is responding as expected.
pboss includes production-oriented process management features, while ProcBoss Cloud extends server visibility with monitoring and alerting capabilities.
For production deployments, configure health checks according to your application's actual readiness and availability requirements.
9. Manage your Deno servers from anywhere with ProcBoss Cloud
Managing processes on one server is relatively straightforward. Managing several applications across multiple servers is a different challenge.
ProcBoss Cloud is an optional platform designed to give you a unified view of your infrastructure.
Monitor your server fleet
Monitor processes and server health from a central dashboard instead of logging into each machine individually.
Stream logs and receive alerts
Inspect application output and use monitoring and alerting features to help identify failures and potential problems.
Manage processes through Telegram and Discord
ProcBoss Cloud integrates with Telegram and Discord, allowing supported process-management operations and notifications to be accessed through these platforms.
This can make it easier to stay informed about your applications without keeping the monitoring dashboard open all day.
Publish public status pages
Create public status pages to communicate service availability and incidents to users.
ProcBoss supports status pages under the
status.zonedomain, with custom-domain support available for organizations that want to use their own domain.You can view the ProcBoss status page at procboss.status.zone.
Deploy from GitHub and roll back releases
Connect a GitHub repository and associate it with one or more processes across your servers. When your code changes, configured deployments can update the relevant applications.
Deployment history and rollback capabilities help you recover from problematic releases without treating every deployment as a one-way trip.
Manage multiple servers from one place
As your infrastructure grows, ProcBoss Cloud gives you a central place to oversee your server fleet, processes, deployments, health checks, and incidents.
The open-source CLI remains usable independently. ProcBoss Cloud is optional for developers who want these additional management capabilities.
Learn more at procboss.com.
10. Deploy Deno without locking yourself into a platform
You don't need to adopt a proprietary hosting platform just to run Deno in production.
You can deploy your application to a VPS or your own server and use pboss to manage its processes. If you later need centralized monitoring, deployments, notifications, or public status pages, you can add ProcBoss Cloud.
This gives you the flexibility to choose how much infrastructure management you want to handle yourself.
Built for developers who want control
pboss combines runtime-agnostic process management with native integrations for JavaScript runtimes, including Deno.
Its capabilities include:
You can use the open-source process manager on its own or add the cloud platform as your operational needs grow.
For developers who want more visibility and control over their servers, ProcBoss Cloud provides an optional platform for monitoring processes, managing deployments, configuring status pages, and interacting with servers through integrations such as Telegram and Discord.
Give pboss a try
One process manager. Multiple runtimes. Your servers.
All reactions