2 / Dockerfile
22333Misaka's picture
Update Dockerfile
d48184d verified
FROM ghcr.io/krau/saveany-bot:latest
# 1. 清空入口点
ENTRYPOINT []
USER root
# 2. 安装 Python3 和 curl
RUN (apk add --no-cache python3 curl || (apt-get update && apt-get install -y python3 curl))
WORKDIR /app
# 3. 权限设置
RUN mkdir -p /app/downloads && chmod 777 /app/downloads
# 4. 创建隔离的 Web 目录
RUN mkdir -p /app/public && \
echo "SaveAny Bot is Protected & Running" > /app/public/index.html
# 5. 编写启动脚本 (已移除所有导致报错的注释)
RUN echo '#!/bin/sh' > /app/start.sh && \
echo 'echo "--- 🔒 Starting Secure Wrapper ---"' >> /app/start.sh && \
echo '' >> /app/start.sh && \
echo 'echo "1. Downloading Config..."' >> /app/start.sh && \
echo 'if [ -n "$CONFIG_URL" ]; then' >> /app/start.sh && \
echo ' curl -L -s -o /app/config.toml "$CONFIG_URL"' >> /app/start.sh && \
echo ' if [ $? -eq 0 ]; then' >> /app/start.sh && \
echo ' echo "✅ Config downloaded."' >> /app/start.sh && \
echo ' else' >> /app/start.sh && \
echo ' echo "❌ Download failed!"' >> /app/start.sh && \
echo ' fi' >> /app/start.sh && \
echo 'else' >> /app/start.sh && \
echo ' echo "⚠️ CONFIG_URL not set."' >> /app/start.sh && \
echo 'fi' >> /app/start.sh && \
echo '' >> /app/start.sh && \
echo 'echo "2. Starting Isolated Web Server..."' >> /app/start.sh && \
echo 'cd /app/public' >> /app/start.sh && \
echo 'nohup python3 -m http.server 7860 > /dev/null 2>&1 &' >> /app/start.sh && \
echo 'cd /app' >> /app/start.sh && \
echo 'sleep 2' >> /app/start.sh && \
echo '' >> /app/start.sh && \
echo 'echo "3. Starting Bot..."' >> /app/start.sh && \
echo './saveany-bot' >> /app/start.sh && \
chmod +x /app/start.sh
EXPOSE 7860
CMD ["/bin/sh", "/app/start.sh"]