added unattended installs, and bumped golang ver
This commit is contained in:
70
scripts/unattended/caddyinstall.sh
Normal file
70
scripts/unattended/caddyinstall.sh
Normal file
@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env bash
|
||||
trap 'exit 130' INT
|
||||
# Check if curl is installed
|
||||
if [ ! -x /usr/bin/curl ] ; then
|
||||
CURL_NOT_EXIST=1
|
||||
apt install -y curl
|
||||
else
|
||||
CURL_NOT_EXIST=0
|
||||
fi
|
||||
apt remove golang -y
|
||||
rm -rf /tmp/go/
|
||||
mkdir /tmp/go/
|
||||
cd /tmp/go/
|
||||
VER="1.20.7"
|
||||
if [ -n "$(uname -a | grep x86_64)" ]; then
|
||||
curl -fsSL -o "/tmp/go/go"$VER".linux-amd64.tar.gz" "https://go.dev/dl/go"$VER".linux-amd64.tar.gz"
|
||||
fi
|
||||
if [ -n "$(uname -a | grep armv6l)" ]; then
|
||||
curl -fsSL -o "/tmp/go/go"$VER".linux-armv6l.tar.gz" "https://go.dev/dl/go"$VER".linux-armv6l.tar.gz"
|
||||
fi
|
||||
if [ -n "$(uname -a | grep i386)" ]; then
|
||||
curl -fsSL -o "/tmp/go/go"$VER".linux-386.tar.gz" "https://go.dev/dl/go"$VER".linux-386.tar.gz"
|
||||
fi
|
||||
rm -rf /usr/local/go && tar -C /usr/local -xzf *.tar.gz
|
||||
chmod +x /usr/local/go/bin/go
|
||||
export PATH=$PATH:/usr/local/go/bin
|
||||
cd ~
|
||||
rm -rf /tmp/caddy
|
||||
mkdir /tmp/caddy
|
||||
cd /tmp/caddy
|
||||
VER=$(curl --silent "https://api.github.com/repos/caddyserver/xcaddy/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g')
|
||||
if [ -n "$(uname -a | grep x86_64)" ]; then
|
||||
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_amd64.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_"$VER"_linux_amd64.tar.gz"
|
||||
fi
|
||||
if [ -n "$(uname -a | grep armv6l)" ]; then
|
||||
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_armv6.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_armv6.tar.gz"
|
||||
fi
|
||||
if [ -n "$(uname -a | grep armv7l)" ]; then
|
||||
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv7.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv7.tar.gz"
|
||||
fi
|
||||
if [ -n "$(uname -a | grep armv5l)" ]; then
|
||||
curl -fsSL -o "/tmp/caddy/xcaddy_"$VER"_linux_armv5.tar.gz" "https://github.com/caddyserver/xcaddy/releases/download/v"$VER"/xcaddy_v"$VER"_linux_armv5.tar.gz"
|
||||
fi
|
||||
tar xvf *.tar.gz xcaddy
|
||||
sudo mv xcaddy /usr/bin
|
||||
mkdir ~/caddy
|
||||
cd ~/caddy
|
||||
xcaddy build
|
||||
sudo mv caddy /usr/bin
|
||||
sudo groupadd --system caddy
|
||||
sudo useradd --system \
|
||||
--gid caddy \
|
||||
--create-home \
|
||||
--home-dir /var/lib/caddy \
|
||||
--shell /usr/sbin/nologin \
|
||||
--comment "Caddy web server" \
|
||||
caddy
|
||||
sudo chown root:root /usr/bin/caddy
|
||||
sudo chmod 755 /usr/bin/caddy
|
||||
sudo mkdir /etc/caddy
|
||||
sudo chown -R root:caddy /etc/caddy
|
||||
sudo mkdir /etc/ssl/caddy
|
||||
sudo chown -R root:caddy /etc/ssl/caddy
|
||||
sudo chmod 0770 /etc/ssl/caddy
|
||||
sudo mkdir /var/www
|
||||
sudo chown caddy:caddy /var/www
|
||||
sudo sh -c 'curl https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service > /etc/systemd/system/caddy.service'
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl status caddy
|
||||
sudo ufw allow proto tcp from any to any port 80,443
|
Reference in New Issue
Block a user