Files
chongming_template_fastapi/{{ cookiecutter.project_name }}/README.md
T
2026-04-29 11:24:19 +08:00

81 lines
1.6 KiB
Markdown

# {{ cookiecutter.project_name }}
[TOC]
作者: {{ cookiecutter.author_name }}
版本: {{ cookiecutter.version }}
## 运行项目
uv 环境
```shell
uv run serve
```
纯 python 环境
```shell
python -m venv .venv
source .venv/bin/activate # windwows 命令为 .venv\Scripts\activate
pip install -r requirements.txt
pip install -e .
serve
```
## 打包项目
uv 环境
```shell
uv run build
```
纯 python 环境
```shell
source .venv/bin/activate # windwows 命令为 .venv\Scripts\activate
build
```
打包出来的文件在 build 目录下
```text
build
build/
├── {{ cookiecutter.project_name }} # 单文件可执行程序 (Linux) 或 {{ cookiecutter.project_name }}.exe (Windows)
├── config.toml # 生产配置(密钥已注入)
├── resources/ # 加密的模块银行 (.mbank) 和图标
├── static.svfs # Vue 前端虚拟文件系统
└── data/ # 初始 SQLite 数据库
```
运行打包后的项目
```shell
cd build
{{ cookiecutter.project_name }} # windows {{ cookiecutter.project_name }}.exe
```
## 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`