FROM mlikiowa/napcat-docker:base RUN useradd --no-log-init -d /app napcat WORKDIR /app # 关键:先创建 templates 目录(在镜像内部) # 这样在 COPY 时就不会因为 templates 不存在而失败 RUN mkdir -p /app/templates # 现在可以安全地执行官方的 COPY 指令了 COPY NapCat.Shell.zip entrypoint.sh templates /app/ # 安装 Linux QQ 等后续操作 RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \ curl -o linuxqq.deb https://dldir1.qq.com/qqfile/qq/QQNT/ec800879/linuxqq_3.2.20-40990_${arch}.deb && \ dpkg -i --force-depends linuxqq.deb && rm linuxqq.deb && \ chmod +x entrypoint.sh && \ echo "(async () => {await import('file:///app/napcat/napcat.mjs');})();" > /opt/QQ/resources/app/loadNapCat.js && \ sed -i 's|"main": "[^"]*"|"main": "./loadNapCat.js"|' /opt/QQ/resources/app/package.json VOLUME /app/napcat/config VOLUME /app/.config/QQ ENTRYPOINT ["bash", "entrypoint.sh"]