把唐诗宋词元曲全装进Docker,一键部署自己的诗词API 简介什么是诗泉 (chinese-poetry-api) 诗泉是一个基于Go语言的高性能中国古诗词API服务收录了唐诗、宋词、元曲等近40万首诗词作品。它提供REST和GraphQL双接口支持简繁体中文切换、全文搜索和IP限流一条Docker命令即可完成部署。主要特点高性能Go语言编写支持并发处理简繁转换仅需~300ns/op海量数据收录近40万首诗词涵盖唐诗、宋词、元曲、诗经、楚辞等强大搜索支持全文搜索、按标题/内容/作者分类搜索双语支持同一数据库同时存储简体和繁体中文通过?lang参数一键切换多种接口REST API和GraphQL双接口支持满足不同开发需求限流保护内置IP限流防止恶意滥用容器化Docker镜像开箱即用支持amd64/arm64多架构开源免费基于GPL-3.0协议开源可免费使用和修改应用场景个人博客/网站为个人网站添加每日诗词展示、飞花令等功能教育/学习工具作为古诗词学习App或小程序的后端数据源AI 应用为AI对话、写作助手提供古诗词内容素材开发者测试开发人员可以快速搭建测试环境也可用于爬虫练习诗泉是一个开箱即用的古诗词数据API让你无需自己处理海量数据即可拥有完整的古诗词查询能力。安装在群晖上以 Docker 方式安装。在注册表中搜索palemoky选择第二个palemoky/chinese-poetry-api版本选择latest。本文写作时latest版本对应为0.6.0卷在docker文件夹中创建一个新文件夹chinese-poetry-api并在其中建一个子文件夹data文件夹装载路径说明docker/chinese-poetry-api/data/app/data存放诗词数据库端口本地端口不冲突就行不确定的话可以用命令查一下# 查看端口占用netstat-tunlp|grep1279本地端口容器端口12791279环境可变值TZAsia/Shanghai环境变量说明TZ用于设置时区可选。其他如PORT默认1279、RATE_LIMIT_RPS默认10、RATE_LIMIT_BURST默认20等均有内置默认值无需额外设置。命令行安装docker cli 安装如果你熟悉命令行可能用docker cli更快捷# 新建文件夹 chinese-poetry-api 和 子目录mkdir-p/volume1/docker/chinese-poetry-api/data# 进入 chinese-poetry-api 目录cd/volume1/docker/chinese-poetry-api# 一键启动dockerrun-d\--namechinese-poetry-api\--restartunless-stopped\-p1279:1279\-v$(pwd)/data:/app/data\-eTZAsia/Shanghai\palemoky/chinese-poetry-api:latestdocker-compose 安装也可以用docker-compose安装将下面的内容保存为docker-compose.yml文件version:3.8services:poetry-api:image:palemoky/chinese-poetry-api:latestcontainer_name:chinese-poetry-apirestart:unless-stoppedports:-1279:1279volumes:-./data:/app/data# 存放诗词数据库environment:-TZAsia/Shanghai然后通过SSH登录到您的群晖执行下面的命令# 新建文件夹 chinese-poetry-api 和 子目录mkdir-p/volume1/docker/chinese-poetry-api/data# 进入 chinese-poetry-api 目录cd/volume1/docker/chinese-poetry-api# 将 docker-compose.yml 放入当前目录# 一键启动docker-composeup-d运行在浏览器中访问http://群晖IP:1279会看到错误提示 因为这只是个API接口服务并没有包含Web服务首次启动时容器会自动从GitHub Release下载诗词数据库请耐心等待下载完成。查看启动日志# 命令行查看日志dockerlogs-fchinese-poetry-api下载的诗词数据库会在data目录中如果自动下载有问题也可以手动下载后解压上传当看到Starting API server...的日志后即可开始使用API# 获取随机诗词curlhttp://群晖IP:1279/api/v1/poems/random# 搜索诗词curlhttp://群晖IP:1279/api/v1/poems/search?q静夜思# 繁体中文curlhttp://群晖IP:1279/api/v1/poems/random?langzh-Hant# 随机一首李白的诗curlhttp://群晖IP:1279/api/v1/poems/random?author李白如果习惯使用图形化界面项目还提供了在线Demohttps://poetry.palemoky.comAI 演示以前这种API应用一般都是给程序员用的但是有了AI之后就不一样了做不了复杂的可以让AI给我们搓个简单的支持搜索支持统计朝代也可以随机注意事项首次启动需联网容器启动时会从GitHub Release下载约382MB的SQLite数据库文件首次启动需要稳定的网络连接数据持久化数据库下载到/app/data目录后更新检查在每次容器启动时自动进行持久化该目录可避免重复下载端口选择1279是默认端口可通过环境变量PORT自定义修改后需同步更新端口映射资源占用SQLite数据库加载到内存中运行建议分配至少512MB内存给容器参考文档palemoky/chinese-poetry-api: 诗泉高性能中国古诗词 API 服务地址https://github.com/palemoky/chinese-poetry-apipalemoky/chinese-poetry-api - Docker Image地址https://hub.docker.com/r/palemoky/chinese-poetry-api诗泉 — 免费开源的中文古诗词 API地址https://poetry.palemoky.com/

本月热点