| FROM node:22 |
|
|
| RUN apt update \ |
| && apt install -y \ |
| curl \ |
| jq \ |
| xvfb \ |
| git \ |
| wget \ |
| zip \ |
| unzip \ |
| libgtk-3-0 \ |
| libnotify4 \ |
| libxss1 \ |
| libxtst6 \ |
| xdg-utils \ |
| libatspi2.0-0 \ |
| libsecret-1-0 \ |
| dbus \ |
| libasound2 \ |
| libnss3 \ |
| tzdata && \ |
| echo "${TZ}" > /etc/timezone && \ |
| ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \ |
| apt autoremove -y && \ |
| apt clean && \ |
| rm -rf \ |
| /var/lib/apt/lists/* \ |
| /tmp/* \ |
| /var/tmp/* |
|
|
| WORKDIR /app |
|
|
| COPY entrypoint.sh /app/ |
| COPY qqnt.json server config.yaml /app/ |
|
|
| ENV version="v2.6.24" |
|
|
| RUN curl -LJO https://github.com/NapNeko/NapCatQQ/releases/download/${version}/NapCat.Shell.zip |
|
|
| |
| RUN arch=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) && \ |
| curl -o linuxqq.deb https://dldir1.qq.com/qqfile/qq/QQNT/f60e8252/linuxqq_3.2.12-28327_${arch}.deb && \ |
| dpkg -i --force-depends linuxqq.deb && rm linuxqq.deb && \ |
| chmod +x entrypoint.sh && \ |
| rm -rf /opt/QQ/resources/app/package.json && \ |
| echo "(async () => {await import('file:///app/napcat/napcat.mjs');})();" > /opt/QQ/resources/app/loadNapCat.js && \ |
| mv /app/qqnt.json /opt/QQ/resources/app/package.json |
|
|
|
|
| RUN mkdir -p napcat/config \ |
| && mkdir -p .config/QQ \ |
| && mkdir -p /run/dbus \ |
| && mkdir -p /home/node/.config/QQ/crash_files \ |
| && touch /home/node/.config/QQ/crash_files/rqd_record.eup |
|
|
| RUN unzip -q NapCat.Shell.zip -d ./NapCat.Shell \ |
| && mv NapCat.Shell/config/* napcat/config/ && rmdir NapCat.Shell/config \ |
| && mv NapCat.Shell/* napcat/ |
| |
| RUN chmod -R 777 /app/ \ |
| && chmod -R 777 /run/ \ |
| && chmod -R 777 /home/node/.config/ |
|
|
| RUN mv /usr/bin/xvfb-run /usr/bin/x-run |
| ENTRYPOINT ["bash", "entrypoint.sh"] |