grok2api / Dockerfile
OwenPowell's picture
Update Dockerfile
265d16d verified
FROM ghcr.io/chenyme/grok2api:latest
ENV TZ=Asia/Shanghai \
LOG_LEVEL=INFO \
SERVER_PORT=8000 \
SERVER_WORKERS=1
RUN mkdir -p /app/data /app/logs && chmod -R 777 /app/data /app/logs /app/scripts
# 自定义启动脚本:将 HF Secrets 注入环境变量和 config.toml 后再启动
RUN echo '#!/bin/sh' > /app/start.sh && \
echo 'set -e' >> /app/start.sh && \
echo '/app/scripts/init_storage.sh' >> /app/start.sh && \
echo 'CONFIG="/app/data/config.toml"' >> /app/start.sh && \
echo 'if [ -n "$APP_KEY" ]; then' >> /app/start.sh && \
echo ' sed -i "s|^app_key = .*|app_key = \"$APP_KEY\"|" "$CONFIG"' >> /app/start.sh && \
echo 'fi' >> /app/start.sh && \
echo 'if [ -n "$API_KEY" ]; then' >> /app/start.sh && \
echo ' sed -i "s|^api_key = .*|api_key = \"$API_KEY\"|" "$CONFIG"' >> /app/start.sh && \
echo 'fi' >> /app/start.sh && \
echo 'export SERVER_STORAGE_TYPE="${SERVER_STORAGE_TYPE:-local}"' >> /app/start.sh && \
echo 'export SERVER_STORAGE_URL="${SERVER_STORAGE_URL:-}"' >> /app/start.sh && \
echo 'exec uvicorn main:app --host 0.0.0.0 --port 8000' >> /app/start.sh && \
chmod +x /app/start.sh
EXPOSE 8000
ENTRYPOINT []
CMD ["/app/start.sh"]