napcat / Dockerfile
flyminos's picture
Update Dockerfile
12f43d0 verified
Raw
History Blame Contribute Delete
1.72 kB
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"]