caddy-installer.sh/README.md

66 lines
2.0 KiB
Markdown
Raw Normal View History

2017-04-21 00:04:57 +00:00
Caddy Installer
---------------
Works on
* Ubuntu Linux
* macOS Sierra
* probably lots of others
Supports
* systemd (Ubuntu, Fedora, Arch, etc)
* launchd (OS X, macOS, Darwin)
Install
-------
Yes... you install the installer
```bash
curl -L https://git.daplie.com/Daplie/daplie-snippets/raw/master/caddy-installer/install-caddy -o install-caddy
sudo mv install-caddy /usr/local/bin/install-caddy
sudo chmod a+x /usr/local/bin/install-caddy
```
Usage
-----
```
install-caddy --help
Usage: install-caddy [plugin1,plugin2,...]
Optional arguments (defaults shown)
--os darwin # any of windows darwin linux freebsd openbsd
--arch amd64 # any of arm64 amd64 386 armv5 armv6l armv7l
Features:
DNS,awslambda,cors,expires,filemanager,filter,git,hugo,ipfilter,jsonp,jwt,locale,mailout,minify,multipass,prometheus,ratelimit,realip,search,upload,cloudflare,digitalocean,dnsimple,dyn,gandi,googlecloud,linode,namecheap,ovh,rfc2136,route53,vultr
```
Caveats
-------
### all platforms
`go` (in which `caddy` is written) doesn't support privilege deescalation
(running on root to bind to port 80 and 443 and then switching to a non-root user).
This isn't usually a problem, however, because the launchers (systemd et al) usually do.
### darwin / macOS / OS X
* `launchd` doesn't support privilege deescalation
* `authbind` doesn't work on recent versions of OS X
However, you can use [ipfw](https://apple.stackexchange.com/questions/37418/how-can-i-open-port-80-so-a-non-root-process-can-bind-to-it) to locally port-forward.
Also, `launchd` is a pain to configure.
There's not much in the way of official documuntation...
but there is some [great unofficial documentation](http://www.launchd.info/)
and [LaunchControl](http://www.soma-zone.com/LaunchControl/)
([direct download](http://www.soma-zone.com/download/files/LaunchControl_1.30.1.tar.bz2))
makes it actually quite easy.
(ignore that the site looks like a 90s spam site - much like MakeMKV - it's actually legit)