Spaces:
Paused
Paused
Update Dockerfile
Browse files- Dockerfile +29 -27
Dockerfile
CHANGED
|
@@ -1,47 +1,49 @@
|
|
| 1 |
FROM ghcr.io/krau/saveany-bot:latest
|
| 2 |
|
| 3 |
-
# 1.
|
| 4 |
ENTRYPOINT []
|
| 5 |
|
| 6 |
-
# 2. 切换 root 用户
|
| 7 |
USER root
|
| 8 |
|
| 9 |
-
#
|
| 10 |
-
RUN (apk add --no-cache python3 || (apt-get update && apt-get install -y python3))
|
| 11 |
|
| 12 |
WORKDIR /app
|
| 13 |
|
| 14 |
-
#
|
| 15 |
RUN mkdir -p /app/downloads && chmod 777 /app/downloads
|
| 16 |
|
| 17 |
-
#
|
| 18 |
-
# 逻辑:
|
| 19 |
-
# A. 后台启动 Python Web 服务器监听 7860
|
| 20 |
-
# B. 打印一下环境变量是否存在 (方便调试,只打印变量名不打印值)
|
| 21 |
-
# C. 前台启动 saveany-bot
|
| 22 |
RUN echo '#!/bin/sh' > /app/start.sh && \
|
| 23 |
-
echo 'echo "--- Starting Wrapper
|
| 24 |
-
echo '' >> /app/
|
| 25 |
-
# ---
|
| 26 |
-
echo 'echo "1.
|
| 27 |
-
echo '
|
| 28 |
-
|
| 29 |
-
echo '' >> /app/
|
| 30 |
-
|
| 31 |
-
echo 'echo "
|
| 32 |
-
|
| 33 |
-
echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
echo 'else' >> /app/start.sh && \
|
| 35 |
-
echo ' echo "
|
| 36 |
echo 'fi' >> /app/start.sh && \
|
| 37 |
-
echo '' >> /app/
|
| 38 |
-
# ---
|
| 39 |
-
echo 'echo "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
echo './saveany-bot' >> /app/start.sh && \
|
| 41 |
chmod +x /app/start.sh
|
| 42 |
|
| 43 |
-
# 6. 暴露端口
|
| 44 |
EXPOSE 7860
|
| 45 |
|
| 46 |
-
# 7. 使用 sh 执行脚本
|
| 47 |
CMD ["/bin/sh", "/app/start.sh"]
|
|
|
|
| 1 |
FROM ghcr.io/krau/saveany-bot:latest
|
| 2 |
|
| 3 |
+
# 1. 清空入口点
|
| 4 |
ENTRYPOINT []
|
| 5 |
|
|
|
|
| 6 |
USER root
|
| 7 |
|
| 8 |
+
# 2. 安装 Python3 (保活) 和 curl (下载配置)
|
| 9 |
+
RUN (apk add --no-cache python3 curl || (apt-get update && apt-get install -y python3 curl))
|
| 10 |
|
| 11 |
WORKDIR /app
|
| 12 |
|
| 13 |
+
# 3. 权限设置
|
| 14 |
RUN mkdir -p /app/downloads && chmod 777 /app/downloads
|
| 15 |
|
| 16 |
+
# 4. 编写全能启动脚本
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
RUN echo '#!/bin/sh' > /app/start.sh && \
|
| 18 |
+
echo 'echo "--- 🚀 Starting SaveAny Bot Wrapper ---"' >> /app/start.sh && \
|
| 19 |
+
echo '' >> /app/start.sh && \
|
| 20 |
+
# --- 步骤A: 强制下载配置文件 ---
|
| 21 |
+
echo 'echo "1. Downloading Config from URL..."' >> /app/start.sh && \
|
| 22 |
+
echo 'if [ -n "$CONFIG_URL" ]; then' >> /app/start.sh && \
|
| 23 |
+
# 使用 curl 下载并覆盖 config.toml (-L 这里的 L 是为了跟随重定向)
|
| 24 |
+
echo ' curl -L -o /app/config.toml "$CONFIG_URL"' >> /app/start.sh && \
|
| 25 |
+
echo ' if [ $? -eq 0 ]; then' >> /app/start.sh && \
|
| 26 |
+
echo ' echo "✅ Config downloaded successfully!"' >> /app/start.sh && \
|
| 27 |
+
# 打印文件前几行检查内容 (不打印全部以防泄露)
|
| 28 |
+
echo ' echo "Checking file header:"' >> /app/start.sh && \
|
| 29 |
+
echo ' head -n 5 /app/config.toml' >> /app/start.sh && \
|
| 30 |
+
echo ' else' >> /app/start.sh && \
|
| 31 |
+
echo ' echo "❌ Failed to download config!"' >> /app/start.sh && \
|
| 32 |
+
echo ' fi' >> /app/start.sh && \
|
| 33 |
echo 'else' >> /app/start.sh && \
|
| 34 |
+
echo ' echo "⚠️ CONFIG_URL is not set!"' >> /app/start.sh && \
|
| 35 |
echo 'fi' >> /app/start.sh && \
|
| 36 |
+
echo '' >> /app/start.sh && \
|
| 37 |
+
# --- 步骤B: 启动保活 Web Server ---
|
| 38 |
+
echo 'echo "2. Starting Fake Web Server on 7860..."' >> /app/start.sh && \
|
| 39 |
+
echo 'nohup python3 -m http.server 7860 > /dev/null 2>&1 &' >> /app/start.sh && \
|
| 40 |
+
echo 'sleep 2' >> /app/start.sh && \
|
| 41 |
+
echo '' >> /app/start.sh && \
|
| 42 |
+
# --- 步骤C: 启动 Bot ---
|
| 43 |
+
echo 'echo "3. Starting Bot binary..."' >> /app/start.sh && \
|
| 44 |
echo './saveany-bot' >> /app/start.sh && \
|
| 45 |
chmod +x /app/start.sh
|
| 46 |
|
|
|
|
| 47 |
EXPOSE 7860
|
| 48 |
|
|
|
|
| 49 |
CMD ["/bin/sh", "/app/start.sh"]
|