File size: 2,056 Bytes
c624529
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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}