Files
2026-05-22 13:15:12 +08:00

52 lines
1.5 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}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=lib.sh
source "${SCRIPT_DIR}/lib.sh"
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 "==> 更新代码..."
git_update_safe "${INSTALL_DIR}"
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"