From 460da1a6a3ad56461a2b52ebe04ef3aa9f93ff97 Mon Sep 17 00:00:00 2001 From: eric Date: Sat, 11 Jul 2026 11:30:35 -0500 Subject: [PATCH] Fix Caddy install method and add deployment docs Co-authored-by: Cursor --- deploy/README.md | 52 ++++++++++++++++++++++++++++++++++++++++++ deploy/setup-server.sh | 23 +++++-------------- 2 files changed, 58 insertions(+), 17 deletions(-) create mode 100644 deploy/README.md diff --git a/deploy/README.md b/deploy/README.md new file mode 100644 index 0000000..fc6576e --- /dev/null +++ b/deploy/README.md @@ -0,0 +1,52 @@ +# Nomadro 部署说明 + +## 服务器信息 + +- 主机: `107.173.30.245` +- 代码目录: `/var/www/nomadro.com` +- 应用端口: `4003`(仅本机) +- 域名: `nomadro.com` / `www.nomadro.com` → Caddy 反代 + +## 不影响现有业务 + +- nginx 仍在 **23794** 端口服务 `specials.nomadro.live`(v2ray-agent),未改动 +- sing-box 未改动 +- Caddy 仅占用 **80/443**,专用于 nomadro.com + +## DNS 配置(必须) + +将域名 A 记录指向服务器 IP: + +``` +nomadro.com A 107.173.30.245 +www.nomadro.com A 107.173.30.245 +``` + +若使用 Cloudflare,需关闭代理(灰云)或配置 Origin 指向该 IP,否则 Caddy 无法自动签发 HTTPS 证书。 + +## 首次部署 + +```bash +ssh root@107.173.30.245 +export GIT_PASS='你的密码' +export GIT_USER='eric' +git clone -b test https://eric:${GIT_PASS}@gitea.dsx2020.com/eric/gitlab-instance-0a899031_nomadro.git /var/www/nomadro.com +cd /var/www/nomadro.com +bash deploy/setup-server.sh +``` + +## 日常更新 + +```bash +ssh root@107.173.30.245 +cd /var/www/nomadro.com +bash deploy/deploy.sh +``` + +## 服务管理 + +```bash +systemctl status nomadro caddy nginx +journalctl -u nomadro -f +journalctl -u caddy -f +``` diff --git a/deploy/setup-server.sh b/deploy/setup-server.sh index 629eea5..57e1292 100644 --- a/deploy/setup-server.sh +++ b/deploy/setup-server.sh @@ -23,14 +23,15 @@ fi echo "==> Install Caddy" if ! command -v caddy >/dev/null 2>&1; then - apt-get install -y debian-keyring debian-archive-keyring apt-transport-https curl - curl -1sLf 'https://dl.caddyserver.com/api/download/installer/deb/caddy-stable/caddy-stable.list' \ + apt-get install -y debian-keyring debian-archive-keyring apt-transport-https curl gnupg + curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \ + | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg + curl -fsSL 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \ | tee /etc/apt/sources.list.d/caddy-stable.list - curl -1sLf 'https://dl.caddyserver.com/api/download/installer/deb/caddy-stable/caddy-stable-archive-keyring.gpg' \ - | tee /usr/share/keyrings/caddy-stable-archive-keyring.gpg >/dev/null apt-get update apt-get install -y caddy fi +mkdir -p /etc/caddy echo "==> Clone or update app" mkdir -p /var/www @@ -49,19 +50,7 @@ pnpm install --frozen-lockfile pnpm build echo "==> Configure Caddy (only nomadro.com, keep nginx untouched)" -CADDY_MAIN="/etc/caddy/Caddyfile" -SNIPPET="# nomadro.com - managed by nomadro deploy" -if [ -f "$CADDY_MAIN" ] && grep -q "nomadro.com" "$CADDY_MAIN"; then - echo "Caddy nomadro.com block already exists" -else - if [ ! -f "$CADDY_MAIN" ] || [ ! -s "$CADDY_MAIN" ]; then - cp "$APP_DIR/deploy/Caddyfile" "$CADDY_MAIN" - else - echo "" >> "$CADDY_MAIN" - echo "$SNIPPET" >> "$CADDY_MAIN" - cat "$APP_DIR/deploy/Caddyfile" >> "$CADDY_MAIN" - fi -fi +cp "$APP_DIR/deploy/Caddyfile" /etc/caddy/Caddyfile caddy validate --config "$CADDY_MAIN" systemctl enable caddy systemctl reload caddy || systemctl restart caddy