FROM bestzwei/libretv:latest ENV APP_PORT=7860 COPY hf_nginx.conf /etc/nginx/conf.d/default.conf RUN echo "Changing Nginx PID path..." && \ if grep -q "pid /var/run/nginx.pid;" /etc/nginx/nginx.conf; then \ sed -i 's|pid /var/run/nginx.pid;|pid /tmp/nginx.pid;|g' /etc/nginx/nginx.conf && \ echo "Nginx PID path changed to /tmp/nginx.pid."; \ else \ echo "pid /var/run/nginx.pid; not found in /etc/nginx/nginx.conf. Adding pid /tmp/nginx.pid;"; \ # 如果找不到原始行,尝试在 http 块之前或文件顶部添加 (这比较粗略,最好确认原始配置) # 或者更简单地,假设它使用了默认值,我们直接添加覆盖它 # 在第一行后插入 pid 指令,或者添加到文件末尾(取决于 Nginx 如何处理) # 一个比较安全的方式是删除任何已有的 pid 行,再添加新的 sed -i '/^pid /d' /etc/nginx/nginx.conf && \ echo "pid /tmp/nginx.pid;" >> /etc/nginx/nginx.conf; \ # 注意:更健壮的方法是确认 nginx.conf 结构,插入到全局上下文中 fi RUN echo "Modifying JavaScript files..." && \ echo " - Modifying js/app.js (window.open)..." && \ sed -i 's/const doubanPageSize = 16;/const doubanPageSize = 64;/' /usr/share/nginx/html/js/douban.js && \ echo "JavaScript files modified." && \ echo "正在注入 CSS 以隐藏黄色内容过滤..." && \ sed -i '/<\/head>/i \ \ ' /usr/share/nginx/html/index.html && \ echo "已通过注入 CSS (使用 :has()) 隐藏黄色内容过滤设置项。" # 3. 解决入口脚本的 sed 权限问题 (这个已确认有效) RUN echo "Setting permissions for /usr/share/nginx/html..." && \ chmod -R 777 /usr/share/nginx/html && \ echo "Permissions set." # 暴露端口 EXPOSE ${APP_PORT}