OwenPowell commited on
Commit
8a76748
·
verified ·
1 Parent(s): ce4debf

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -5
Dockerfile CHANGED
@@ -8,10 +8,21 @@ ENV TZ=Asia/Shanghai \
8
 
9
  RUN mkdir -p /app/data /app/logs && chmod -R 777 /app/data /app/logs /app/scripts
10
 
11
- RUN --mount=type=secret,id=APP_KEY,mode=0444 \
12
- --mount=type=secret,id=API_KEY,mode=0444 \
13
- echo "APP_KEY=$(cat /run/secrets/APP_KEY 2>/dev/null)" >> /app/.env && \
14
- echo "API_KEY=$(cat /run/secrets/API_KEY 2>/dev/null)" >> /app/.env && \
15
- chmod 666 /app/.env
 
 
 
 
 
 
 
 
16
 
17
  EXPOSE 8000
 
 
 
 
8
 
9
  RUN mkdir -p /app/data /app/logs && chmod -R 777 /app/data /app/logs /app/scripts
10
 
11
+ # 自定义启动脚本:将 HF Secrets 注入 config.toml 后再启动
12
+ RUN echo '#!/bin/sh' > /app/start.sh && \
13
+ echo 'set -e' >> /app/start.sh && \
14
+ echo '/app/scripts/init_storage.sh' >> /app/start.sh && \
15
+ echo 'CONFIG="/app/data/config.toml"' >> /app/start.sh && \
16
+ echo 'if [ -n "$APP_KEY" ]; then' >> /app/start.sh && \
17
+ echo ' sed -i "s|^app_key = .*|app_key = \"$APP_KEY\"|" "$CONFIG"' >> /app/start.sh && \
18
+ echo 'fi' >> /app/start.sh && \
19
+ echo 'if [ -n "$API_KEY" ]; then' >> /app/start.sh && \
20
+ echo ' sed -i "s|^api_key = .*|api_key = \"$API_KEY\"|" "$CONFIG"' >> /app/start.sh && \
21
+ echo 'fi' >> /app/start.sh && \
22
+ echo 'exec uvicorn main:app --host 0.0.0.0 --port 8000' >> /app/start.sh && \
23
+ chmod +x /app/start.sh
24
 
25
  EXPOSE 8000
26
+
27
+ ENTRYPOINT []
28
+ CMD ["/app/start.sh"]