Files
vim-ale/serviceman/README.md
2020-06-26 06:49:35 +00:00

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