diff --git a/README.md b/README.md index d814179..4d02286 100644 --- a/README.md +++ b/README.md @@ -56,12 +56,25 @@ cp .env.example .env ### 2. 启动服务 -**后端**(systemd 托管,开机自启): +**后端**(systemd 服务,开机自启): + +安装依赖并部署 service 文件: ```bash -systemctl start backup-backend +cd /root/system-backu/backend +python3 -m venv venv +source venv/bin/activate +pip install -r requirements.txt + +# 部署 systemd 服务 +cp deploy/backup-backend.service /etc/systemd/system/ +systemctl daemon-reload systemctl enable backup-backend -journalctl -u backup-backend -f # 查看日志 +systemctl start backup-backend + +# 查看状态和日志 +systemctl status backup-backend +journalctl -u backup-backend -f ``` **前端**(Docker 容器): @@ -92,6 +105,8 @@ docker compose up -d frontend . ├── docker-compose.yml # 仅前端容器 ├── .env.example # 环境变量模板 +├── deploy/ +│ └── backup-backend.service # systemd 服务文件 ├── backend/ │ ├── app/ # FastAPI 应用代码 │ │ ├── api/ # API 端点 diff --git a/deploy/backup-backend.service b/deploy/backup-backend.service new file mode 100644 index 0000000..6b2a9db --- /dev/null +++ b/deploy/backup-backend.service @@ -0,0 +1,18 @@ +[Unit] +Description=System Backup Backend (FastAPI) +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/root/system-backu/backend +EnvironmentFile=/root/system-backu/.env +ExecStartPre=/root/system-backu/backend/venv/bin/alembic upgrade head +ExecStart=/root/system-backu/backend/venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8765 +Restart=always +RestartSec=5 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target