65 lines
2.0 KiB
Bash
65 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
caddy_add_packages () {
|
|
local bin; local repos; local pkgs; local pkg
|
|
[[ ! -f $1 ]] && echo "cannot find file $1 of packages, nothing to add" && return 0
|
|
bin=${2:-$CADDY_BIN}
|
|
bin=${bin:-$(command -v caddy)}
|
|
[[ ! $bin ]] && echo no caddy binary found && return 1
|
|
pkgs=$(sed '/^[[:space:]]*#[^!]/d; /#$/d' $1)
|
|
echo caddy pkgs to be added:
|
|
echo $pkgs
|
|
if ! $bin add-package $pkgs >/dev/null 2>&1; then
|
|
echo Error: Aborting further package installs and reverting to last good binary
|
|
return 2
|
|
else
|
|
echo packages added successfully
|
|
$bin list-modules | grep -E -A15 "Standard modules:"
|
|
fi
|
|
}
|
|
|
|
caddy_checksum () {
|
|
echo "verifying checksum of $2"
|
|
source /opt/scripts/github.lib
|
|
local download=$(github_asset caddyserver caddy $1 caddy_$(echo ${1})_checksums.txt)
|
|
echo checksum file to download: $download
|
|
wget -q -O /tmp/caddy_checksum $download
|
|
# cat /tmp/caddy_checksum
|
|
local sha=$(grep $2 /tmp/caddy_checksum | cut -d " " -f1)
|
|
# echo $sha
|
|
# sha512sum $3
|
|
# must have TWO spaces in echo command!
|
|
echo "$sha $3" | sha512sum -c >/dev/null 2>&1;
|
|
ret=$?
|
|
rm -r /tmp/caddy_checksum
|
|
return $ret
|
|
}
|
|
|
|
|
|
|
|
caddy_install_bin () {
|
|
|
|
source /opt/scripts/github.lib
|
|
arch=$(/opt/scripts/getarch.sh)
|
|
ver=${CADDY_VER:-$(github_latest caddyserver caddy | sed 's/^v//')}
|
|
caddytar="caddy_${ver}_linux_${arch}.tar.gz"
|
|
download=$(github_asset caddyserver caddy $ver $caddytar)
|
|
# echo "github_asset caddyserver caddy $ver $caddytar"
|
|
echo caddy version: $ver
|
|
echo caddy tarball: $caddytar
|
|
echo getting tarball from: $download
|
|
wget -q -O /tmp/caddy.tar.gz $download
|
|
if caddy_checksum $ver $caddytar /tmp/caddy.tar.gz; then
|
|
echo download tarball verified
|
|
tar x -z -f /tmp/caddy.tar.gz -C $CADDY_HOME/bin caddy
|
|
rm -f /tmp/caddy.tar.gz
|
|
chmod +x $CADDY_BIN
|
|
setcap cap_net_bind_service=+ep $CADDY_BIN
|
|
chmod +x $CADDY_BIN
|
|
$CADDY_BIN version
|
|
if ! caddy_add_packages $CADDY_CONF/caddy.pkgs; then
|
|
return 4
|
|
fi
|
|
fi
|
|
}
|