FROM mlikiowa/napcat-docker:base RUN apt-get update && apt-get install -y xvfb unzip curl nginx python3 python3-pip zip git && \ pip3 install --no-cache-dir huggingface_hub websockets && \ rm -rf /var/lib/apt/lists/* RUN useradd -m -u 1000 user WORKDIR /app RUN curl -L -o NapCat.Shell.zip https://github.com/NapNeko/NapCatQQ/releases/latest/download/NapCat.Shell.zip && \ unzip -q NapCat.Shell.zip -d ./napcat && \ rm NapCat.Shell.zip RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \ curl -o linuxqq.deb https://dldir1v6.qq.com/qqfile/qq/QQNT/7516007c/linuxqq_3.2.25-45758_${arch}.deb && \ apt-get update && \ apt-get install -y ./linuxqq.deb && \ rm linuxqq.deb && \ rm -rf /var/lib/apt/lists/* RUN 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 COPY --chown=user:user entrypoint.sh /app/ COPY nginx.conf /etc/nginx/nginx.conf RUN chmod +x /app/entrypoint.sh && \ mkdir -p /app/napcat/config /app/.config/QQ /var/log/nginx /var/lib/nginx && \ chown -R user:user /app /etc/nginx /var/log/nginx /var/lib/nginx ENV DISPLAY=:99 ENV NAPCAT_DISABLE_MULTI_PROCESS=1 ENV PORT=7860 # ===== 关键:从构建参数传入 Secret ===== ARG HF_TOKEN ARG DATASET_REPO ARG ACCOUNT ARG NAPCAT_WEBUI_SECRET_KEY ARG NAPCAT_QUICK_PASSWORD ENV HF_TOKEN=${HF_TOKEN} ENV DATASET_REPO=${DATASET_REPO} ENV ACCOUNT=${ACCOUNT} ENV NAPCAT_WEBUI_SECRET_KEY=${NAPCAT_WEBUI_SECRET_KEY} ENV NAPCAT_QUICK_PASSWORD=${NAPCAT_QUICK_PASSWORD} USER user EXPOSE 7860 ENTRYPOINT ["/bin/bash", "/app/entrypoint.sh"]