50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# Docker 一键部署 — 安装目录 /opt/Binance_Altcoin_Monitor
|
|
set -euo pipefail
|
|
|
|
INSTALL_DIR="/opt/Binance_Altcoin_Monitor"
|
|
REPO_URL="${REPO_URL:-https://git.bz121.com/dekun/Binance_Altcoin_Monitor.git}"
|
|
|
|
echo "==> Docker 部署 Binance Altcoin Monitor"
|
|
echo " 目录: ${INSTALL_DIR}"
|
|
|
|
if ! command -v docker &>/dev/null; then
|
|
echo "错误: 未安装 docker,请先安装 Docker Engine 与 Compose 插件"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -d "${INSTALL_DIR}/.git" ]; then
|
|
echo "==> 克隆仓库..."
|
|
sudo mkdir -p /opt
|
|
sudo git clone "${REPO_URL}" "${INSTALL_DIR}"
|
|
sudo chown -R "$(whoami):$(whoami)" "${INSTALL_DIR}" 2>/dev/null || true
|
|
else
|
|
echo "==> 更新代码..."
|
|
cd "${INSTALL_DIR}"
|
|
git pull --rebase
|
|
fi
|
|
|
|
cd "${INSTALL_DIR}"
|
|
|
|
if [ ! -f .env ]; then
|
|
echo "==> 创建 .env(请编辑 WECOM_WEBHOOK_URL 等)"
|
|
cp .env.example .env
|
|
fi
|
|
|
|
mkdir -p data logs
|
|
|
|
echo "==> 构建并启动容器..."
|
|
docker compose build --no-cache
|
|
docker compose up -d
|
|
|
|
echo ""
|
|
echo "部署完成。"
|
|
echo " Web: http://$(hostname -I | awk '{print $1}'):${PORT:-21450}"
|
|
echo " 日志: docker compose -f ${INSTALL_DIR}/docker-compose.yml logs -f"
|
|
echo " 停止: docker compose -f ${INSTALL_DIR}/docker-compose.yml down"
|
|
echo ""
|
|
echo "开启 SOCKS5 代理: 编辑 ${INSTALL_DIR}/.env"
|
|
echo " PROXY_ENABLED=true"
|
|
echo " PROXY_URL=socks5h://192.168.8.4:1081"
|
|
echo " 然后: docker compose up -d --force-recreate"
|