Spaces:
Running
Running
| FROM yimik/kkfileview:latest | |
| USER root | |
| # 安装依赖 | |
| RUN apt-get update && apt-get install -y \ | |
| xvfb \ | |
| libxrender1 \ | |
| libxext6 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # 环境变量 | |
| ENV SERVER_PORT=7860 | |
| # 添加执行权限 | |
| RUN chmod -R 755 /opt/kkFileView-*/bin/ | |
| # 修改配置文件 | |
| RUN CONFIG_FILE="/opt/kkFileView-4.1.0/config/application.properties" && \ | |
| if [ -f "$CONFIG_FILE" ]; then \ | |
| echo "Modifying config file..." && \ | |
| sed -i '/trust.host/d' "$CONFIG_FILE" && \ | |
| echo "" >> "$CONFIG_FILE" && \ | |
| echo "# Trust all hosts for Hugging Face Spaces" >> "$CONFIG_FILE" && \ | |
| echo "trust.host = default" >> "$CONFIG_FILE" && \ | |
| echo "" >> "$CONFIG_FILE" && \ | |
| echo "# Port configuration" >> "$CONFIG_FILE" && \ | |
| echo "server.port = 7860" >> "$CONFIG_FILE" && \ | |
| echo "Configuration updated successfully" && \ | |
| tail -10 "$CONFIG_FILE"; \ | |
| else \ | |
| echo "ERROR: Config file not found at $CONFIG_FILE" && \ | |
| exit 1; \ | |
| fi | |
| # 启动脚本 | |
| RUN echo '#!/bin/bash' > /start.sh && \ | |
| echo 'echo "=== kkFileView Configuration ==="' >> /start.sh && \ | |
| echo 'grep -E "trust.host|server.port" /opt/kkFileView-4.1.0/config/application.properties || echo "Config not found"' >> /start.sh && \ | |
| echo 'echo ""' >> /start.sh && \ | |
| echo 'echo "Starting Xvfb..."' >> /start.sh && \ | |
| echo 'Xvfb :99 -screen 0 1024x768x24 &' >> /start.sh && \ | |
| echo 'export DISPLAY=:99' >> /start.sh && \ | |
| echo 'sleep 2' >> /start.sh && \ | |
| echo 'echo "Starting kkFileView..."' >> /start.sh && \ | |
| echo 'cd /opt/kkFileView-4.1.0' >> /start.sh && \ | |
| echo 'bash /opt/kkFileView-4.1.0/bin/startup.sh' >> /start.sh && \ | |
| echo 'echo ""' >> /start.sh && \ | |
| echo 'echo "Service started. Access at: http://localhost:7860"' >> /start.sh && \ | |
| echo 'tail -f /opt/kkFileView-4.1.0/log/*.log' >> /start.sh && \ | |
| chmod +x /start.sh | |
| EXPOSE 7860 | |
| CMD ["/start.sh"] |