2026-01-31 16:00:12 +08:00
|
|
|
# {{ cookiecutter.project_name }}
|
|
|
|
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
|
|
|
|
作者: {{ cookiecutter.author_name }}
|
|
|
|
|
|
|
|
|
|
版本: {{ cookiecutter.version }}
|
|
|
|
|
|
|
|
|
|
## 运行项目
|
|
|
|
|
|
|
|
|
|
uv 环境
|
|
|
|
|
|
|
|
|
|
```shell
|
2026-01-31 22:25:11 +08:00
|
|
|
uv run serve
|
2026-01-31 16:00:12 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
纯 python 环境
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
python -m venv .venv
|
|
|
|
|
source .venv/bin/activate # windwows 命令为 .venv\Scripts\activate
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
pip install -e .
|
2026-01-31 22:25:11 +08:00
|
|
|
serve
|
2026-01-31 16:00:12 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 打包项目
|
2026-01-31 22:25:11 +08:00
|
|
|
|
|
|
|
|
uv 环境
|
|
|
|
|
|
2026-01-31 16:00:12 +08:00
|
|
|
```shell
|
2026-01-31 22:25:11 +08:00
|
|
|
uv run build
|
2026-01-31 16:00:12 +08:00
|
|
|
```
|
2026-01-31 22:25:11 +08:00
|
|
|
|
|
|
|
|
纯 python 环境
|
|
|
|
|
```shell
|
|
|
|
|
source .venv/bin/activate # windwows 命令为 .venv\Scripts\activate
|
|
|
|
|
build
|
|
|
|
|
```
|
|
|
|
|
|
2026-01-31 16:00:12 +08:00
|
|
|
打包出来的文件在 build 目录下
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
build
|
2026-04-29 11:24:19 +08:00
|
|
|
build/
|
|
|
|
|
├── {{ cookiecutter.project_name }} # 单文件可执行程序 (Linux) 或 {{ cookiecutter.project_name }}.exe (Windows)
|
|
|
|
|
├── config.toml # 生产配置(密钥已注入)
|
|
|
|
|
├── resources/ # 加密的模块银行 (.mbank) 和图标
|
|
|
|
|
├── static.svfs # Vue 前端虚拟文件系统
|
|
|
|
|
└── data/ # 初始 SQLite 数据库
|
2026-01-31 16:00:12 +08:00
|
|
|
```
|
2026-01-31 16:36:09 +08:00
|
|
|
|
|
|
|
|
运行打包后的项目
|
|
|
|
|
```shell
|
|
|
|
|
cd build
|
|
|
|
|
{{ cookiecutter.project_name }} # windows {{ cookiecutter.project_name }}.exe
|
|
|
|
|
```
|
2026-04-29 11:24:19 +08:00
|
|
|
|
|
|
|
|
## Docker 部署
|
|
|
|
|
|
|
|
|
|
Docker 镜像采用多角度构建 + `scratch` 基础镜像,真正做到最小化。
|
|
|
|
|
|
|
|
|
|
### 构建镜像
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
docker build -t {{ cookiecutter.project_name }}:latest .
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 执行部署脚本
|
|
|
|
|
```bash
|
|
|
|
|
sudo chmod +x deploy.sh
|
|
|
|
|
./deploy.sh
|
|
|
|
|
```
|
|
|
|
|
部署脚本会:
|
|
|
|
|
|
|
|
|
|
- 在 `$HOME/{{ cookiecutter.project_name }}-data` 下创建 `data/`, `uploads/`, `logs/` 目录
|
|
|
|
|
- 若首次运行,从镜像提取初始数据库
|
|
|
|
|
- 启动容器并挂载上述目录,端口 `8000` 映射
|
|
|
|
|
- 自动设置 `--restart unless-stopped`
|
|
|
|
|
|