如题,这是一个只需要单一镜像就可以运行的一言服务,不需要额外部署redis服务器
最新的tag基于v1.7.0-dev,介意者请自己clone需要的版本
docker run -d --name hitokoto -p 8000:8000 ddio001/hitokoto
你可以根据自己需要的配置来修改并build镜像
FROM node:16-alpine
WORKDIR /root
RUN mkdir -p /hitokoto \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& apk add --no-cache git redis \
&& git clone https://hub.fastgit.org/hitokoto-osc/hitokoto-api.git /hitokoto \
&& apk del git \
&& sed -i 's/appendonly no/appendonly yes/g' /etc/redis.conf \
&& cd /hitokoto \
&& yarn config set registry https://registry.npm.taobao.org \
&& yarn workspaces focus --production \
&& echo -e "name: 'hitokoto' # 服务名称,例如:hitokoto\n\
url: 'https://v1.hitokoto.cn' # 服务地址,例如:https://v1.hitokoto.cn\n\
api_name: 'demo_prprpr' # 服务标识,取个好区分的标识吧,例如:cd-01-demo\n\
server: # 配置 HTTP 服务的信息\n\
host: 0.0.0.0 # 监听的地址\n\
port: 8000 # 监听的端口\n\
compress_body: true # 是否使用 GZIP 压缩\n\
redis: # 配置 Redis\n\
host: 127.0.0.1 # Redis 主机名\n\
port: 6379 # Redis 端口\n\
password: '' # Redis 密码\n\
database: 0 # Redis 数据库\n\
sentences_ab_switcher: # 本节是服务 AB 异步更新的配置,如果您不知道这个是什么意思,请保持默认\n\
a: 1 # a 状态对应的 redis 数据库\n\
b: 2 # b 状态对应的 redis 数据库\n\
remote_sentences_url: https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/ # 语句库地址,通常默认即可。如果您想使用您自己打包部署的语句库,您可以修改此项\n\
workers: 0 # 启动 Worker 数目。0 表示启动和 CPU 核心数相同数量的 Worker\n\
extensions: # 控制扩展\n\
netease: true # 网易云音乐接口\n\
requests:\n\
enabled: false # 是否启用请求数目统计\n\
hosts: # 需要单独统计的主机名\n\
- v1.hitokoto.cn\n\
telemetry: # 遥测服务\n\
performance: false # 性能监控\n\
error: false # 错误报告\n\
usage: false # 使用报告\n\
debug: false # 是否启用调试模式(该模式会让遥测服务打印调试信息)\n"\
>> /hitokoto/data/config.yml
VOLUME /hitokoto
WORKDIR /hitokoto
CMD redis-server --daemonize yes && yarn start
Content type
Image
Digest
Size
82.5 MB
Last updated
about 5 years ago
docker pull ddio001/hitokoto