Skip to content
/ servy Public

Turn Any App into a Native Windows Service - Modern Open-Source Alternative to NSSM, WinSW, AlwaysUp & FireDaemon

License

Notifications You must be signed in to change notification settings

aelassas/servy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build test codecov winget choco scoop bump-version

Servy

Watch Demo on YouTube

Servy

PRs Welcome

Servy lets you run any app as a native Windows service with full control over working directory, startup type, process priority, logging, health checks, environment variables, dependencies, pre-launch and post-launch scripts, and parameters. A modern open-source alternative to NSSM, WinSW, AlwaysUp, and FireDaemon.

Servy offers a GUI, a CLI, and a PowerShell module, allowing you to create, configure, and manage Windows services either interactively or through scripts and CI/CD pipelines. Additionally, it provides a Manager interface for quickly monitoring and managing all installed services in real-time.

If you've ever struggled with the limitations of the built-in sc tool or found NSSM lacking in features or UI, Servy might be exactly what you need. It 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 lets you run an optional script or executable before the main service starts. This is useful for preparing configurations, fetching secrets, or performing other setup tasks.

Servy continuously monitors your app, restarting it automatically if it crashes, hangs, or stops. It is perfect for keeping non-service apps running in the background without having to rewrite them as services. Use it to run Node.js, Python, .NET, Java, Go, Rust, PHP, or Ruby applications; keep web servers, background workers, sync tools, or daemons alive after reboots; and automate task runners, schedulers, or scripts in production with built-in health checks, logging, and restart policies.

Getting Started

You have two options to install Servy. Download and install manually or use a package manager such as WinGet, Chocolatey, or Scoop.

Make sure you have WinGet, Chocolatey, or Scoop installed.

Run one of the following commands as administrator from Command Prompt or PowerShell:

WinGet

winget install servy

Chocolatey

choco install -y servy

Scoop

scoop bucket add aelassas https://github.com/aelassas/scoop-bucket
scoop install servy

Servy has been reviewed by Microsoft Security Intelligence and is confirmed safe. It 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

Features

  • Clean, simple UI
  • Quickly monitor and manage all installed services in real-time with Servy Manager
  • CLI and PowerShell module for full scripting and automated deployments
  • Run any executable as a Windows service
  • Set service name, description, startup type, priority, working directory, environment variables, dependencies, and parameters
  • Environment variable expansion supported in both environment variables and process parameters
  • Run services as Local System, local user, domain account, or DOMAIN\gMSA$ for Group Managed Service Accounts
  • Redirect stdout/stderr to log files with automatic size-based rotation
  • Run pre-launch script execution before starting the service, with retries, timeout, logging and failure handling
  • Run post-launch script execution automatically after the application starts successfully
  • Prevent orphaned/zombie processes with improved lifecycle management and ensuring resource cleanup
  • Health checks and automatic service recovery
  • Browse and search logs by level, date, and keyword for faster troubleshooting from Servy Manager
  • Export/Import service configurations
  • Service Event Notification alerts on service failures via Windows notifications and email
  • Compatible with Windows 7–11 x64 and Windows Server editions

Roadmap

For the full project roadmap, see ROADMAP.md.

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 to show your appreciation and increase visibility, sharing the project with colleagues, communities, or on social media, or by making a donation. Your contributions help keep Servy alive, improving, and accessible to everyone. You can donate through GitHub Sponsors (one-time or monthly), 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.

License

Servy is MIT licensed.