Files
fj/deploy.sh
T
selfreleaseandDevin 42d5606ab5 feat: 配乐改用即梦生成音频文件,双曲目可选
- 新增 bgm/ 目录:bell.m4a(晨钟)/ valley.m4a(空山),96k AAC
- 配乐开关升级为曲 select(关/晨钟/空山),移动端走底部面板
- Web Audio 合成引擎整体移除,改 <audio> 循环 + 手动淡入淡出
- 目标音量 0.25,压在人声之下;旧布尔偏好迁移为"晨钟"
- deploy.sh 同步 bgm/ 目录;run.md 同步说明

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-05 12:19:52 +08:00

40 lines
1.6 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 部署佛经诵读站到 fj.all8ai.top(154.8.162.18:/opt/fj/)
#
# 用法:
# ./deploy.sh # 已配置 SSH key 时直接用
# FJ_PASS=xxx ./deploy.sh # 密码登录(需本机装 sshpass)
#
# 注意:不要在脚本里写死密码;密码走 FJ_PASS 环境变量。
set -euo pipefail
cd "$(dirname "$0")"
HOST=154.8.162.18
USER=root
DEST=/opt/fj
# 注意:不同步 .env —— 服务器端 PORT=8018 与本地开发配置不同,避免覆盖。
FILES=(index.html style.css app.js server.py sw.js manifest.json icon.svg icon-180.png icon-192.png icon-512.png README.md run.md)
SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=15"
SSH_CMD="ssh $SSH_OPTS"
if [ -n "${FJ_PASS:-}" ]; then
command -v sshpass >/dev/null || { echo "缺少 sshpass:brew install sshpass 或改用 SSH key"; exit 1; }
SSH_CMD="sshpass -p $FJ_PASS ssh $SSH_OPTS"
fi
echo "==> 同步文件到 $USER@$HOST:$DEST/"
rsync -az --timeout=30 -e "$SSH_CMD" "${FILES[@]}" "$USER@$HOST:$DEST/"
# 经文数据目录整目录同步(删除远端多余文件,加新经只需往 sutras/ 丢 json)
rsync -az --timeout=30 --delete -e "$SSH_CMD" sutras/ "$USER@$HOST:$DEST/sutras/"
rsync -az --timeout=30 --delete -e "$SSH_CMD" bgm/ "$USER@$HOST:$DEST/bgm/"
echo "==> 重启 fj.service"
$SSH_CMD "$USER@$HOST" 'systemctl restart fj.service && sleep 1 && systemctl is-active fj.service'
echo "==> 健康检查"
code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 15 https://fj.all8ai.top/)
echo "https://fj.all8ai.top/ -> $code"
[ "$code" = "200" ] || { echo "健康检查未通过"; exit 1; }
echo "部署完成"