Servy - Turn Any App into a Native Windows Service

4 min read Original article ↗

Why use Servy?

  • Universal Access Run any app as a service via Desktop UI, CLI, or PowerShell.
  • Auto-Recovery Intelligent restarts that recover from crashes, hangs, and failures.
  • Full Process Control Granular management of directories, priorities, and environment variables.
  • Enterprise Auth Support for Local System, Active Directory, and gMSA accounts.
  • Lifecycle Hooks Pre and post-launch/stop scripts with built-in logging and timeouts.
  • Live Monitoring Real-time CPU/RAM graphs with live stdout/stderr streaming.
  • Graceful Shutdown Safe termination using Ctrl+C propagation to prevent zombie processes.
  • Health Checks Automated failure detection and instant alerts via Windows or email.
  • Visual Dependencies Interactive dependency trees and easy configuration exports.

Quick Example

You can manage services using the desktop app (GUI), the CLI, or PowerShell.

Here's a minimal example using the CLI to run a Node.js app as a Windows service:

servy-cli install `
  --name="MyService" `
  --path="C:\Program Files\nodejs\node.exe" `
  --startupDir="C:\MyServer" `
  --params="C:\MyServer\server.js"

This creates a service named MyService that runs your Node.js server in the background and starts automatically with Windows.

Explore more examples and recipes for Python, Java, Go, and other popular frameworks.

Use Cases

Web Servers & APIs

Run Node.js, Python, Go, or Java backend servers as resilient Windows services that start automatically on boot.

Background Workers

Keep data processing scripts, message queue consumers (RabbitMQ/Kafka), and long-running workers active in the background without a logged-in session.

CI/CD & DevOps

Ensure your self-hosted build agents (GitHub Actions, GitLab Runners, or Jenkins) stay alive and restart automatically if they crash or the system reboots.

Automation & Scripts

Execute PowerShell or Python scripts on a schedule or as persistent daemons to handle local file cleanup, backups, or system monitoring.

Database Proxies

Manage local database tunnels or proxies (like Cloud SQL Auth Proxy or Ngrok) as services to provide stable connectivity for your development environment.

Remote Management Agents

Deploy custom monitoring agents or remote administration tools (such as MeshCentral) to run persistently as background services, ensuring uninterrupted administrative access and control.

Local AI & ML Models

Host local LLMs or AI APIs (like Ollama or Stable Diffusion) as persistent services so your models are always loaded and ready to serve requests without keeping a terminal window open.

Network Utilities & Proxies

Run custom DNS servers, reverse proxies (like Caddy or Nginx), or VPN clients seamlessly in the background to ensure continuous local network availability and reliable routing.

Legacy App Modernization

Wrap older CLI tools or console applications that weren't built as services, giving them modern lifecycle management and health monitoring.

Demo Video

Getting Started

Download the latest release from GitHub or install via a package manager:

WinGet

Chocolatey

Scoop

scoop bucket add extras
scoop update innounp
scoop install servy

Servy has been reviewed by Microsoft Security Intelligence and is confirmed safe. It is digitally signed and performs only standard installation tasks and does not contain malware, adware, or unwanted software. Servy passes VirusTotal scans and is published in the Windows Package Manager (WinGet), Chocolatey, and Scoop. You can safely install it from GitHub, WinGet, Chocolatey, or Scoop.

Quick Links

Support & Contributing

Servy is free and open-source. If you are using it in a commercial or revenue-generating context, or simply find it valuable, consider supporting the project via GitHub Sponsors, PayPal, or Buy Me a Coffee.

Open-source software requires time, effort, and resources to maintain. Every contribution, big or small, makes a difference and motivates continued work on features, bug fixes, and new ideas.

If you have suggestions, issues, or would like to contribute, feel free to open an issue or submit a pull request.

Acknowledgments

Thanks to SignPath for providing a free code signing service, and to the SignPath Foundation for supplying a free code signing certificate.

Thanks to JetBrains for providing an open-source license for their tools. Their software made it much easier to profile, debug, and optimize Servy, helping improve its performance and stability.

Special thanks to everyone who tested Servy, reported issues, and suggested improvements on GitHub and Reddit. Your feedback and contributions have shaped the project and made it better with every release.

SignPath Foundation JetBrains Open