v2.1: 新增通知提醒功能和安全增强
功能: - 通知提醒系统: 还款日提醒、逾期提醒、系统消息横幅、登录时通知 - 通知中心UI: 铃铛图标 + 下拉列表 + 未读徽章 - 定时任务: APScheduler 每小时检查即将到期的还款 - 邮件通知: SMTP 发送还款提醒和安全警告 - 异常登录通知: 3/5/10次失败触发网页和邮件通知 安全: - 登录安全告警: 异常登录次数达到阈值时发送通知 - 密码重置链接: 一次性使用, 5分钟有效期 - 登录频率限制: IP级和账户级限制 技术: - 后端: FastAPI + SQLAlchemy + PostgreSQL - 前端: 纯 HTML/CSS/JS - 部署: Docker Compose (新增 build 配置)
This commit is contained in:
40
deploy/docker-compose.yml
Normal file
40
deploy/docker-compose.yml
Normal file
@@ -0,0 +1,40 @@
|
||||
services:
|
||||
db:
|
||||
image: postgres:15-alpine
|
||||
environment:
|
||||
POSTGRES_DB: debt_manager
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "54326:5432"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
restart: unless-stopped
|
||||
|
||||
backend:
|
||||
image: debt-manager-backend:latest
|
||||
ports:
|
||||
- "8000:8000"
|
||||
environment:
|
||||
DATABASE_URL: postgresql+asyncpg://postgres:postgres@db:5432/debt_manager
|
||||
SECRET_KEY: change-this-in-production-please
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
frontend:
|
||||
image: debt-manager-frontend:latest
|
||||
ports:
|
||||
- "806:80"
|
||||
depends_on:
|
||||
- backend
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
39
deploy/install.sh
Executable file
39
deploy/install.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo " 债务管理系统 - 一键安装"
|
||||
echo "========================================="
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
echo ""
|
||||
echo "[1/3] 加载 Docker 镜像..."
|
||||
docker load -i "$SCRIPT_DIR/debt-manager-backend.tar.gz"
|
||||
docker load -i "$SCRIPT_DIR/debt-manager-frontend.tar.gz"
|
||||
docker load -i "$SCRIPT_DIR/postgres-15-alpine.tar.gz"
|
||||
|
||||
echo ""
|
||||
echo "[2/3] 启动服务..."
|
||||
cd "$SCRIPT_DIR"
|
||||
docker compose up -d
|
||||
|
||||
echo ""
|
||||
echo "[3/3] 等待服务就绪..."
|
||||
sleep 5
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo " 安装完成!"
|
||||
echo "========================================="
|
||||
echo ""
|
||||
echo " 前台地址: http://localhost:806"
|
||||
echo " 后台地址: http://localhost:806/admin.html"
|
||||
echo " API 文档: http://localhost:8000/docs"
|
||||
echo ""
|
||||
echo " 默认账号: admin / admin123"
|
||||
echo " 默认账号: test / test123"
|
||||
echo ""
|
||||
echo " 停止服务: docker compose -f $SCRIPT_DIR/docker-compose.yml down"
|
||||
echo " 查看日志: docker compose -f $SCRIPT_DIR/docker-compose.yml logs -f"
|
||||
echo "========================================="
|
||||
22
deploy/uninstall.sh
Executable file
22
deploy/uninstall.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "========================================="
|
||||
echo " 债务管理系统 - 卸载"
|
||||
echo "========================================="
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
echo ""
|
||||
echo "[1/2] 停止并删除容器..."
|
||||
cd "$SCRIPT_DIR"
|
||||
docker compose down -v
|
||||
|
||||
echo ""
|
||||
echo "[2/2] 删除 Docker 镜像..."
|
||||
docker rmi debt-manager-backend:latest debt-manager-frontend:latest postgres:15-alpine 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo "========================================="
|
||||
echo " 卸载完成"
|
||||
echo "========================================="
|
||||
Reference in New Issue
Block a user