Files
taiko-web-without-tjaf/README.md

97 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 太鼓 Web移除 tjaf 依赖版)
仓库地址(主分支):
https://git.20091128.xyz/AnthonyDuan/taiko-web-without-tjaf/src/branch/main/
## 功能概述
- 移除了对 `tjaf` 外部库的依赖,改用项目内置 TJA 解析实现(`tjaf.py`
- 保持原有上传、歌曲管理、预览生成等功能
## 快速部署(推荐)
适用系统Ubuntu 20.04+/22.04+/24.04(需 root
```bash
bash setup.sh
```
部署完成后访问:
```
http://<服务器IP>/
```
### 脚本做了什么
- 安装依赖:`python3``python3-venv``python3-pip``git``ffmpeg``rsync``curl``gnupg``libcap2-bin`
- 安装并启动:`MongoDB``Redis`
- 同步项目到 `/srv/taiko-web`,创建虚拟环境并安装 `requirements.txt`
- 如无 `config.py`,从 `config.example.py` 复制默认配置
- 为虚拟环境 `python3` 赋予低位端口绑定权限(`setcap cap_net_bind_service=+ep`
- 创建 `systemd` 服务,使用 `gunicorn` 直接监听 `0.0.0.0:80`
- 开放防火墙 `80/tcp`(如系统启用了 `ufw`
## 手动部署(可选)
1. 安装依赖:
```bash
sudo apt update
sudo apt install -y python3 python3-venv python3-pip git ffmpeg rsync libcap2-bin
```
2. 安装并启动数据库:
```bash
sudo apt install -y mongodb redis-server
sudo systemctl enable --now mongod redis-server
```
3. 准备项目与虚拟环境:
```bash
sudo mkdir -p /srv/taiko-web
sudo rsync -a --delete --exclude '.git' --exclude '.venv' . /srv/taiko-web/
sudo python3 -m venv /srv/taiko-web/.venv
sudo /srv/taiko-web/.venv/bin/pip install -U pip
sudo /srv/taiko-web/.venv/bin/pip install -r /srv/taiko-web/requirements.txt
```
4. 配置文件:
```bash
sudo cp /srv/taiko-web/config.example.py /srv/taiko-web/config.py
```
5. 赋予 80 端口绑定权限并启动:
```bash
sudo setcap 'cap_net_bind_service=+ep' /srv/taiko-web/.venv/bin/python3
sudo /srv/taiko-web/.venv/bin/gunicorn -b 0.0.0.0:80 app:app
```
## 开发与调试
```bash
pip install -r requirements.txt
```
本地快速启动(需要本机 MongoDB 与 Redis 已就绪):
```bash
flask run
```
也可使用容器快速拉起本地数据库:
```bash
docker run --detach \
--name taiko-web-mongo-debug \
--volume taiko-web-mongo-debug:/data/db \
--publish 27017:27017 \
mongo
docker run --detach \
--name taiko-web-redis-debug \
--volume taiko-web-redis-debug:/data \
--publish 6379:6379 \
redis
```
---
如需将监听接口改为仅内网或增加并发工作数(例如 `--workers 4`),可在 `setup.sh` 或 `systemd` 服务中调整。