- 构建 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)
78 lines
2.1 KiB
Bash
Executable File
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 "请务必修改默认密码!"
|