Files
debt-manager/deploy/install.sh
OP a49a5a7cff build: 添加 x86 和 arm64 双架构部署包
- 构建 x86 (linux/amd64) backend 和 frontend 镜像
- 导出 arm64 和 x86 两种架构的 tar.gz 镜像包
- 添加 docker-compose.x86.yml 和 docker-compose.arm64.yml
- install.sh 自动检测架构并加载对应镜像
- 部署包约 200MB (backend 75M x2 + frontend 24M x2 + postgres 106M)
2026-06-28 23:07:06 +08:00

78 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
echo "=========================================="
echo " 债务管理系统 v2.2 安装脚本"
echo "=========================================="
# Detect architecture
ARCH=$(uname -m)
case "$ARCH" in
x86_64|amd64)
ARCH_NAME="x86"
COMPOSE_FILE="docker-compose.x86.yml"
BACKEND_IMAGE="debt-manager-backend:x86"
FRONTEND_IMAGE="debt-manager-frontend:x86"
BACKEND_TAR="debt-manager-backend-x86.tar.gz"
FRONTEND_TAR="debt-manager-frontend-x86.tar.gz"
;;
aarch64|arm64)
ARCH_NAME="arm64"
COMPOSE_FILE="docker-compose.arm64.yml"
BACKEND_IMAGE="debt-manager-backend:latest"
FRONTEND_IMAGE="debt-manager-frontend:latest"
BACKEND_TAR="debt-manager-backend-arm64.tar.gz"
FRONTEND_TAR="debt-manager-frontend-arm64.tar.gz"
;;
*)
echo "不支持的架构: $ARCH"
exit 1
;;
esac
echo "检测到架构: $ARCH_NAME ($ARCH)"
echo ""
# Load images
echo "加载 Docker 镜像..."
docker load < "$BACKEND_TAR"
docker load < "$FRONTEND_TAR"
docker load < postgres-15-alpine.tar.gz
# Generate secure keys
SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))" 2>/dev/null || openssl rand -hex 32)
DB_PASSWORD=$(python3 -c "import secrets; print(secrets.token_hex(16))" 2>/dev/null || openssl rand -hex 16)
echo ""
echo "生成安全密钥..."
# Create .env file
cat > .env << EOF
POSTGRES_DB=debt_manager
POSTGRES_USER=postgres
POSTGRES_PASSWORD=$DB_PASSWORD
DATABASE_URL=postgresql+asyncpg://postgres:$DB_PASSWORD@db:5432/debt_manager
SECRET_KEY=$SECRET_KEY
ADMIN_PASSWORD=Admin123!
EOF
echo "配置文件已创建"
echo ""
echo "=========================================="
echo " 安装完成!"
echo "=========================================="
echo ""
echo "启动命令: docker compose -f $COMPOSE_FILE up -d"
echo ""
echo "访问地址:"
echo " 前台: http://localhost:806"
echo " 后台: http://localhost:806/admin.html"
echo ""
echo "管理员账号: admin"
echo "管理员密码: Admin123!"
echo ""
echo "请务必修改默认密码!"