FROM docker.1ms.run/library/node:20-alpine
LABEL maintainer="yuankaifneg <2894340009@qq.com>"

WORKDIR /gitlink_help_center

COPY ./ /gitlink_help_center/

RUN npm install --legacy-peer-deps

RUN node -e "const fs=require('fs');const d='node_modules/@docusaurus/bundler/lib';fs.readdirSync(d).filter(f=>f.endsWith('.js')).forEach(f=>{const p=d+'/'+f;let c=fs.readFileSync(p,'utf8');if(c.includes('ProgressPlugin')){c=c.replace(/(new\s+[\w.]*ProgressPlugin)\(\s*\{[\s\S]*?\}\s*\)/g,'$1()');fs.writeFileSync(p,c);console.log('patched '+f);}});"

ENV CI=true
# 预生成 AI 助手知识库（来自 docs/），确保文档更新后知识库始终最新
RUN node scripts/build-knowledge.js
RUN npm run build -- --locale zh-cn
# 同时运行：静态站点(docusaurus serve, 3000) + AI 代理(ai-proxy, 3001)
CMD ["sh", "-c", "node ai-proxy/server.js & npm run serve"]
