sft0farid commited on
Commit
feb8dfd
·
verified ·
1 Parent(s): 942c255

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -13
Dockerfile CHANGED
@@ -97,24 +97,27 @@ RUN echo '[supervisord]'
97
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
98
  && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
99
 
100
- # Создаем надежный скрипт запуска
101
  RUN echo '#!/bin/bash' > /app/start_zrok.sh && \
102
  echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh && \
103
  echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh && \
104
  echo 'cd "$HOME"' >> /app/start_zrok.sh && \
105
- echo '# 1. Принудительно удаляем старый конфиг, чтобы избежать 401 Unauthorized' >> /app/start_zrok.sh && \
106
- echo 'rm -rf .zrok2' >> /app/start_zrok.sh && \
107
- echo '# 2. Активируем среду заново' >> /app/start_zrok.sh && \
108
- echo 'if [ -z "$ZROK2_TOKEN" ]; then' >> /app/start_zrok.sh && \
109
- echo ' echo "ERROR: ZROK2_TOKEN is not set!"' >> /app/start_zrok.sh && \
110
- echo ' exit 1' >> /app/start_zrok.sh && \
 
 
111
  echo 'fi' >> /app/start_zrok.sh && \
112
- echo 'zrok2 enable "$ZROK2_TOKEN" --headless' >> /app/start_zrok.sh && \
113
- echo '# 3. Ждем поднятия API' >> /app/start_zrok.sh && \
114
- echo 'echo "[zrok] Waiting for API..."' >> /app/start_zrok.sh && \
115
- echo 'until curl -s http://127.0.0.1:7860/ > /dev/null; do sleep 3; done' >> /app/start_zrok.sh && \
116
- echo 'echo "[zrok] API found. Starting share..."' >> /app/start_zrok.sh && \
117
- echo 'zrok2 share public http://127.0.0.1:7860' >> /app/start_zrok.sh && \
 
 
118
  chmod +x /app/start_zrok.sh
119
 
120
  # 8. Entrypoint
 
97
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
98
  && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
99
 
 
100
  RUN echo '#!/bin/bash' > /app/start_zrok.sh && \
101
  echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh && \
102
  echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh && \
103
  echo 'cd "$HOME"' >> /app/start_zrok.sh && \
104
+ echo '# 1. Проверяем статус. Если среда жива — не трогаем её' >> /app/start_zrok.sh && \
105
+ echo 'if zrok2 status > /dev/null 2>&1; then' >> /app/start_zrok.sh && \
106
+ echo ' echo "[zrok] Environment healthy, reusing existing identity."' >> /app/start_zrok.sh && \
107
+ echo 'else' >> /app/start_zrok.sh && \
108
+ echo ' echo "[zrok] Environment invalid or missing. Cleaning and Re-enabling..."' >> /app/start_zrok.sh && \
109
+ echo ' rm -rf .zrok2' >> /app/start_zrok.sh && \
110
+ echo ' if [ -z "$ZROK2_TOKEN" ]; then echo "ERROR: ZROK2_TOKEN not set"; exit 1; fi' >> /app/start_zrok.sh && \
111
+ echo ' zrok2 enable "$ZROK2_TOKEN" --headless' >> /app/start_zrok.sh && \
112
  echo 'fi' >> /app/start_zrok.sh && \
113
+ echo '# 2. Ждем API приложения' >> /app/start_zrok.sh && \
114
+ echo 'until curl -s http://127.0.0.1:7860/ > /dev/null; do sleep 2; done' >> /app/start_zrok.sh && \
115
+ echo '# 3. Запускаем шару. Если падает - пробуем снова через 5 секунд' >> /app/start_zrok.sh && \
116
+ echo 'while true; do' >> /app/start_zrok.sh && \
117
+ echo ' zrok2 share public http://127.0.0.1:7860' >> /app/start_zrok.sh && \
118
+ echo ' echo "[zrok] Share exited, restarting in 5s..."' >> /app/start_zrok.sh && \
119
+ echo ' sleep 5' >> /app/start_zrok.sh && \
120
+ echo 'done' >> /app/start_zrok.sh && \
121
  chmod +x /app/start_zrok.sh
122
 
123
  # 8. Entrypoint