liber / Dockerfile
geba123's picture
Update Dockerfile
694d341 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#window.open(playerUrl, '_blank');#window.location.href = playerUrl;#" /usr/share/nginx/html/js/app.js && \
echo " - Modifying js/douban.js (doubanEnabled check)..." && \
sed -i "s#localStorage\.getItem('doubanEnabled') === 'true'#localStorage\.getItem('doubanEnabled') !== 'false'#g" /usr/share/nginx/html/js/douban.js && \
echo " - Modifying js/douban.js (doubanPageSize)..." && \
sed -i 's/const doubanPageSize = 16;/const doubanPageSize = 64;/' /usr/share/nginx/html/js/douban.js && \
echo "JavaScript files modified."
# 3. 解决入口脚本的 sed 权限问题 (这个已确认有效)
RUN echo "Setting permissions for /usr/share/nginx/html..." && \
chmod -R 777 /usr/share/nginx/html && \
echo "Permissions set."
# 暴露端口
EXPOSE ${APP_PORT}