libretv / Dockerfile
bhakhw's picture
Update Dockerfile
c624529 verified
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 \
<style>\n\
/* 隐藏包含 #yellowFilterToggle 的特定设置项容器 */\n\
.flex.flex-col.mb-3.pb-3.border-b:has(#yellowFilterToggle) { \n\
display: none !important; \n\
}\n\
</style>\
' /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}