- Python 3.9+
- PostgreSQL
本服务的部分模块依赖外部数据源 jianshu
和 jpep
数据库,您需事先下载并进行导入。
创建用户:
CREATE ROLE jtools LOGIN PASSWORD 'jtools';
创建数据库:
CREATE DATABASE jtools WITH OWNER = jtools;
CREATE DATABASE logs;
创建扩展:
(jianshu
数据库)
CREATE EXTENSION IF NOT EXISTS pg_trgm;
为用户授权:
(logs
数据库)
GRANT CREATE ON SCHEMA public TO jtools;
(jianshu
数据库)
GRANT SELECT ON TABLE article_earning_ranking_records TO jtools;
GRANT SELECT ON TABLE lottery_win_records TO jtools;
GRANT SELECT ON TABLE users TO jtools;
(jpep
数据库)
GRANT SELECT ON TABLE ftn_macket_records TO jtools;
GRANT SELECT ON TABLE ftn_orders TO jtools;
创建索引:
(jianshu
数据库)
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_article_earning_ranking_records_ranking ON article_earning_ranking_records (ranking);
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_lottery_win_records_time ON lottery_win_records (time);
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_lottery_win_records_user_slug ON lottery_win_records (user_slug);
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_lottery_win_records_award_name ON lottery_win_records (award_name);
CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_users_name ON users USING gin (name gin_trgm_ops);
复制 config.example.toml
文件,将其重命名为 config.toml
。
cp config.example.toml config.toml
如果您使用 Docker 进行部署:
- jtools_postgres.host 填写
postgres
- jianshu_postgres.host 填写
postgres
- jpep_postgres.host 填写
postgres
- uvicorn.host 填写
0.0.0.0
同时,您需要填写正确的 postgres.user
和 postgres.password
。
word_split_access_key
为具有 NLP 服务 使用权限的阿里云用户 Access Key,您可在 RAM 访问控制 中创建用户,并为其赋予 AliyunNLPReadOnlyAccess
权限。
该项非必填,其内容为空字符串时,「文章词云图」模块不可用。
创建 Docker 网络:
docker network create postgres
您需要在 postgres
网络的 5173
端口上运行一个 PostgreSQL 服务,身份验证相关信息请参考 部署 - 数据库准备
一节。
如您希望更换 Docker 网络名称或服务端口号,请同时调整 config.toml
中的相关配置。
启动服务:
docker compose up -d
您可在 http://localhost:8602 访问服务。
下载 Python 项目管理工具 uv:
pip install uv
安装依赖库(将自动创建虚拟环境):
uv install
下载前端运行时 Bun:
curl -fsSL https://bun.sh/install | bash
安装依赖库:
bun install
您需要在 5173
端口上运行一个 PostgreSQL 服务,身份验证相关信息请参考 部署 - 数据库准备
一节。
如您希望更换服务端口号,请同时调整 config.toml
中的相关配置。
启动后端服务:
cd backend
uv run main.py
启动前端服务:
cd frontend
bun run dev
您可在 http://localhost:5173 访问服务。