Servy

Turn Any App into a Windows Service – A Fully Managed NSSM Alternative

Download Servy

What is Servy?

Servy lets you run any app as a Windows service with full control over working directory, startup type, logging, health checks, and parameters. A fully managed alternative to NSSM.

Servy offers both a GUI and a Command-Line Interface (CLI), enabling you to create, configure, and manage Windows services interactively or automate these tasks in scripts and CI/CD pipelines.

Servy solves a common limitation of Windows services by allowing you to set a custom working directory. The built-in sc tool only works with applications specifically designed to run as Windows services and always uses C:\Windows\System32 with no way to change it. This can break apps that depend on relative paths, configuration files, or local assets. Servy lets you run any app as a service and define the startup directory explicitly, ensuring it behaves exactly as if launched from a shortcut or command prompt.

Servy is perfect for keeping non-service apps running in the background without rewriting them as services. Use it to run Node.js, Python, or .NET apps; keep web servers, sync tools, or daemons alive after reboots; and automate task runners or scripts in production with built-in health checks, and restart policies.

Features

Requirements

Servy is available in two versions to support different environments for maximum compatibility with Windows versions.

.NET 8.0 Version

.NET Framework 4.8 Version

Administrator privileges are required to install and manage Windows services.

How It Works

  1. Install Servy using the provided installer.
  2. Launch Servy as administrator.
  3. Fill in the service details:
    • Service Name (required)
    • Service Description (optional)
    • Startup Type (optional)
    • Process Path (required – path to the executable you want to run)
    • Startup Directory (optional – working directory for the process. Defaults to the executable’s directory if not specified.)
    • Process Parameters (optional)
    • Process Priority (optional)
    • Stdout File Path (optional)
    • Stderr File Path (optional)
    • Rotation Size (optional – in bytes, minimum value is 1 MB (1,048,576 bytes), default is 10 MB)
    • Heartbeat Interval (optional – interval between health checks of the child process, default is 30 seconds)
    • Max Failed Checks (optional – number of consecutive failed health checks before triggering the recovery action, default is 3 attempts)
    • Recovery Action (optional – action to take when the max failed checks is reached. Options: Restart Service, Restart Process, Restart Computer, None)
    • Max Restart Attempts (optional – maximum number of recovery attempts before stopping further recovery, default is 3 attempts)
  4. Click Install to register the service.
  5. Start or stop the service directly from Servy, Windows Services (services.msc) or any Windows service manager.

Support & Contributing

If this project helped you, saved you time, or inspired you in any way, please consider supporting its future growth and maintenance. You can show your support by starring the repository (it helps increase visibility and shows your appreciation), sharing the project (recommend it to colleagues, communities, or on social media), or making a donation via GitHub Sponsors (one-time or monthly), PayPal, or Buy Me a Coffee.

Open-source software requires time, effort, and resources to maintain—your support helps keep this project alive, up-to-date, and accessible to everyone. 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 want to contribute, feel free to open an issue or submit a pull request.