mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-03-06 03:10:19 +00:00
1.7 KiB
1.7 KiB
title, homepage, tagline, description
| title | homepage | tagline | description |
|---|---|---|---|
| Serviceman | https://git.rootprojects.org/root/serviceman | Serviceman: cross-platform service management for Linux, Mac, and Windows. | Serviceman is a hassle-free wrapper around your system launcher. It works with the default system launcher to make it easy to start _user_- and _system_-level services, such as webservers, backup scripts, network and system tools, etc. Supports - `launchctl` (macOS) - `systemctl` (Linux) - The Registry (Windows) |
Serviceman can run an app in just about any programming language very simply.
If you'd like to learn what serviceman does without actually making changes,
add the --dryrun option.
Node.js
Development Server
pushd ./my-node-app/
sudo env PATH="$PATH" \
serviceman add --system --cap-net-bind npx nodemon
Production Server
pushd ./my-node-app/
sudo env PATH="$PATH" \
serviceman add --system --cap-net-bind npm start
Golang
pushd ./my-go-package/
sudo env PATH="$PATH" \
serviceman add --system \
go run -mod=vendor cmd/my-service/*.go --port 3000
pushd ./my-go-package/
go build -mod=vendor cmd/my-service
sudo env PATH="$PATH" \
serviceman add --cap-net-bind --system \
./my-service --port 80
And even bash!
sudo env PATH="$PATH" serviceman add bash ./backup.sh /mnt/data
Use --dryrun to see the generated launcher config:
sudo env PATH="$PATH" \
serviceman add --system --dryrun \
bash ./backup.sh /mnt/data
See the (sub)command help
The main help, showing all subcommands:
serviceman --help
Sub-command specific help:
serviceman add --help