A Node.js module for creating and managing native daemons and event logs on macOS.
node-mac is a Node.js module that allows developers to run Node.js scripts as native macOS daemons. It solves the problem of managing long-running Node.js applications as persistent system services with proper lifecycle management and logging. The module handles installation, process monitoring, and intelligent crash recovery.
Node.js developers and DevOps engineers who need to deploy and manage Node.js applications as background services on macOS systems.
Developers choose node-mac because it provides a native, programmatic way to manage Node.js daemons on macOS with built-in crash recovery and logging, avoiding manual launchd configuration. Its smart restart logic prevents server overload while maintaining service availability.
Node utilities for Mac
Configurable backoff intervals (wait and grow) prevent server overload by increasing restart delays, with caps like maxRetries and maxRestarts to handle flawed scripts gracefully.
Uses launchd for service management and logs to the macOS Console app, providing system-level visibility and reliability without manual plist configuration.
Easy installation, start, stop, and monitoring via an event-driven Service object, as shown in the README examples for quick setup.
Allows passing static data to services through configurable environment variables, enabling better customization and security for long-running processes.
Installing services requires sudo/root privileges, which can be a barrier in shared or restricted environments and adds complexity to deployment scripts.
It is specific to macOS; for other operating systems, separate modules like node-windows or node-linux are needed, limiting cross-platform projects.
Uninstalling a service deletes log files, as noted in the README, which can be problematic for debugging or auditing if not backed up separately.
Node.js/Typescript/Bun Production Process Manager with a built-in Load Balancer.
Monitor for any changes in your node.js application and automatically restart the server - perfect for development
A fast and robust web server and application server for Ruby, Python and Node.js
node-supervisor is a lightweight process supervisor for Node.js applications. It monitors your program and automatically restarts it if it crashes, and can also restart it when changes to JavaScript files are detected, enabling hot-code reloading behavior without requiring a complex module system overhaul. ## Key Features - **Automatic Restart on Crash** — Restarts the supervised program if it exits unexpectedly, ensuring continuous operation. - **File Change Detection** — Watches specified directories and files for changes, triggering restarts to apply code updates. - **Configurable Watch/Ignore** — Allows customizing which folders and file extensions to monitor or ignore. - **Flexible Execution** — Supports running programs with different executables (e.g., Node, CoffeeScript) and debugging flags. - **Interactive Control** — Provides commands like `rs` to manually restart the process without file changes. ## Philosophy node-supervisor focuses on simplicity and reliability, offering a straightforward way to manage Node.js processes without introducing complex dependencies or requiring changes to your application's architecture.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.