注意:
  • DOMAIN 不要填写 https://
  • UPSTREAM 填写 IP:端口
  • 邮箱可以留空:EMAIL=""

只修改下面最前面的3行,然后整段复制执行:

DOMAIN="emby.example.com"
UPSTREAM="192.168.10.101:8096"
EMAIL="admin@example.com"

set -e

if [ "$(id -u)" -ne 0 ]; then
    echo "请使用 root 用户运行"
    exit 1
fi

echo "域名:$DOMAIN"
echo "后端:$UPSTREAM"

apt update
apt install -y curl ca-certificates gnupg \
    debian-keyring debian-archive-keyring apt-transport-https

rm -f /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
    | gpg --dearmor \
    -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
    | tee /etc/apt/sources.list.d/caddy-stable.list >/dev/null

chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
chmod o+r /etc/apt/sources.list.d/caddy-stable.list

apt update
apt install -y caddy

cp -a /etc/caddy/Caddyfile \
    "/etc/caddy/Caddyfile.backup.$(date +%Y%m%d-%H%M%S)" 2>/dev/null || true

cat > /etc/caddy/Caddyfile <<EOF
{
    email $EMAIL
}

$DOMAIN {
    reverse_proxy $UPSTREAM
}
EOF

caddy fmt --overwrite /etc/caddy/Caddyfile
caddy validate --config /etc/caddy/Caddyfile

systemctl enable caddy
systemctl restart caddy

echo
echo "=============================="
echo "Caddy 安装配置完成"
echo "访问:https://$DOMAIN"
echo "后端:http://$UPSTREAM"
echo "=============================="

systemctl --no-pager --full status caddy

查看当前配置:

cat /etc/caddy/Caddyfile