FROM node:18-alpine # 安装必要的工具 RUN apk add --no-cache git shadow # 克隆酒馆的代码 RUN git clone https://github.com/SillyTavern/SillyTavern.git /app WORKDIR /app # 安装依赖 RUN npm install --only=production # ========================================== # 🛡️ 注入防伪防盗版前端遮罩(强力DOM守护版) # ========================================== # 1. 创建独立的动态守护脚本,放入静态资源目录 RUN echo "(() => { \ if (localStorage.getItem('hide_anti_piracy')) return; \ const injectLayer = () => { \ if (document.getElementById('anti-piracy-layer')) return; \ const layer = document.createElement('div'); \ layer.id = 'anti-piracy-layer'; \ layer.style = 'position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.9);z-index:9999999;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(8px);color:white;font-family:sans-serif;text-align:center;'; \ layer.innerHTML = \`

⚠️ 免费开源防伪声明

本项目由 GitHub @bainiao0706 倾心免费开源!
官方地址: github.com/bainiao0706/-sillytavern-

【严厉警告】
本项目完全免费!任何在闲鱼、淘宝、付费社群内向您收费贩卖此教程或代搭建服务的行为,均属于欺诈盗用!请立刻投诉并向平台申请退款!

\`; \ document.documentElement.appendChild(layer); \ document.getElementById('btn-go-git').onclick = () => window.open('https://github.com/bainiao0706/-sillytavern-', '_blank'); \ document.getElementById('btn-close-once').onclick = () => layer.remove(); \ document.getElementById('btn-never-show').onclick = () => { localStorage.setItem('hide_anti_piracy', 'true'); layer.remove(); observer.disconnect(); }; \ }; \ const observer = new MutationObserver(() => injectLayer()); \ observer.observe(document.documentElement, { childList: true, subtree: true }); \ if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', injectLayer); } else { injectLayer(); } \ })();" > /app/public/anti-piracy.js && \ sed -i 's|||g' /app/public/index.html ENV BACKGROUND_COLOR=black ENV NODE_ENV=production # 写入配置,使用时修改用户名和密码 RUN printf "port: 7860\n\ listen: true\n\ whitelistMode: false\n\ basicAuthMode: true\n\ basicAuthUser:\n\ username: \"用户名\"\n\ password: \"密码\"\n\ trustProxy: true\n" > config.yaml # 端口号 EXPOSE 7860 # 酒馆,启动! CMD ["node", "server.js"]