2cb2c47bd3 | ||
---|---|---|
installer | ||
README.md |
README.md
curl-bash-template.sh
So you've got a neat project and you want to be able to have others get it up and running quickly, eh?
You'd like them to be able to do something like this and have your service installed, eh?
curl -L install.example.io | bash
Well, this is a collection of scripts that you can include in your repo to do just that.
Just modify get.sh
to point to your repo (you could host this on install.my-project.io
, for example)
and modify local.sh
for your specific project.
Currently supports:
- macOS's launchd
- Linux's systemd
Make Your Project Layout Like This
/Users/me/git.example.com/me/awesome.js/
├── CHANGELOG
├── LICENSE
├── README.md
├── dist
│ ├── Library
│ │ └── LaunchDaemons
│ │ └── com.example.awesome.plist
│ └── etc
│ ├── awesome
│ │ └── awesome.example.yml
│ ├── systemd
│ │ └── system
│ │ └── awesome.service
│ └── tmpfiles.d
│ └── awesome.conf
├── installer
│ ├── get.sh
│ └── local.sh
├── lib
└── package.json
Let Your Followers Install Your Project Like This
curl -L https://git.example.com/example/project.git/raw/master/installer/get.sh | bash
The installed system looks like this:
/
├── etc
│ ├── systemd
│ │ └── system
│ │ └── awesome.service
│ └── tmpfiles.d
│ └── awesome.conf
├── opt
│ └── awesome
│ ├── etc
│ ├── lib
│ └── var
└── Library
└── LaunchDaemons
└── com.example.awesome.plist
Available Helpers
$my_root typically /, but could have a prefix on android
$sudo_cmd 'sudo' if not root and sudo is installed, otherwise empty
http_get <url> <filepath> uses curl or wget to download a file
http_bash <url> downloads file to a temporary location and runs it with bash