Update Dockerfile
Browse files- Dockerfile +12 -8
Dockerfile
CHANGED
|
@@ -109,7 +109,7 @@ if __name__ == "__main__":
|
|
| 109 |
exit(1)
|
| 110 |
EOF
|
| 111 |
|
| 112 |
-
# 复制上传脚本,修改为使用北京时间并
|
| 113 |
COPY --chown=git:git <<'EOF' /uploadhf.py
|
| 114 |
import os
|
| 115 |
import time
|
|
@@ -223,7 +223,7 @@ def start_directory_monitoring(data_directory="/data", repo_id=None, hf_token=No
|
|
| 223 |
return observer
|
| 224 |
|
| 225 |
def start_gitea_server(port=7860):
|
| 226 |
-
"""启动 Gitea 服务器,包含自动重启逻辑"""
|
| 227 |
def run_gitea():
|
| 228 |
max_restart_attempts = 5
|
| 229 |
restart_delay = 10 # 每次重启前的等待时间(秒)
|
|
@@ -257,15 +257,17 @@ def start_gitea_server(port=7860):
|
|
| 257 |
logger.info(f"将在 {restart_delay} 秒后尝试重启 Gitea (尝试 {attempt + 1}/{max_restart_attempts})")
|
| 258 |
time.sleep(restart_delay)
|
| 259 |
else:
|
| 260 |
-
|
| 261 |
-
|
|
|
|
| 262 |
else:
|
| 263 |
logger.info("✅ Gitea 服务器正常退出")
|
| 264 |
break
|
| 265 |
|
| 266 |
except FileNotFoundError:
|
| 267 |
-
|
| 268 |
-
|
|
|
|
| 269 |
except Exception as e:
|
| 270 |
logger.error(f"❌ 启动 Gitea 服务器时发生错误: {e}")
|
| 271 |
attempt += 1
|
|
@@ -273,8 +275,9 @@ def start_gitea_server(port=7860):
|
|
| 273 |
logger.info(f"将在 {restart_delay} 秒后尝试重启 Gitea (尝试 {attempt + 1}/{max_restart_attempts})")
|
| 274 |
time.sleep(restart_delay)
|
| 275 |
else:
|
| 276 |
-
|
| 277 |
-
|
|
|
|
| 278 |
|
| 279 |
gitea_thread = threading.Thread(target=run_gitea)
|
| 280 |
gitea_thread.daemon = True
|
|
@@ -325,6 +328,7 @@ async def main():
|
|
| 325 |
|
| 326 |
except Exception as e:
|
| 327 |
logger.error(f"❌ 启动服务时发生错误: {e}")
|
|
|
|
| 328 |
finally:
|
| 329 |
if 'observer' in locals():
|
| 330 |
observer.stop()
|
|
|
|
| 109 |
exit(1)
|
| 110 |
EOF
|
| 111 |
|
| 112 |
+
# 复制上传脚本,修改为使用北京时间并在 Gitea 达到重试上限时抛出错误
|
| 113 |
COPY --chown=git:git <<'EOF' /uploadhf.py
|
| 114 |
import os
|
| 115 |
import time
|
|
|
|
| 223 |
return observer
|
| 224 |
|
| 225 |
def start_gitea_server(port=7860):
|
| 226 |
+
"""启动 Gitea 服务器,包含自动重启逻辑,达到重试上限时抛出错误"""
|
| 227 |
def run_gitea():
|
| 228 |
max_restart_attempts = 5
|
| 229 |
restart_delay = 10 # 每次重启前的等待时间(秒)
|
|
|
|
| 257 |
logger.info(f"将在 {restart_delay} 秒后尝试重启 Gitea (尝试 {attempt + 1}/{max_restart_attempts})")
|
| 258 |
time.sleep(restart_delay)
|
| 259 |
else:
|
| 260 |
+
error_msg = f"❌ 达到最大重启次数 ({max_restart_attempts}),Gitea 启动失败"
|
| 261 |
+
logger.error(error_msg)
|
| 262 |
+
raise RuntimeError(error_msg)
|
| 263 |
else:
|
| 264 |
logger.info("✅ Gitea 服务器正常退出")
|
| 265 |
break
|
| 266 |
|
| 267 |
except FileNotFoundError:
|
| 268 |
+
error_msg = "❌ 未找到 gitea 命令,请确保 Gitea 已正确安装"
|
| 269 |
+
logger.error(error_msg)
|
| 270 |
+
raise RuntimeError(error_msg)
|
| 271 |
except Exception as e:
|
| 272 |
logger.error(f"❌ 启动 Gitea 服务器时发生错误: {e}")
|
| 273 |
attempt += 1
|
|
|
|
| 275 |
logger.info(f"将在 {restart_delay} 秒后尝试重启 Gitea (尝试 {attempt + 1}/{max_restart_attempts})")
|
| 276 |
time.sleep(restart_delay)
|
| 277 |
else:
|
| 278 |
+
error_msg = f"❌ 达到最大重试次数 ({max_restart_attempts}),Gitea 启动失败: {e}"
|
| 279 |
+
logger.error(error_msg)
|
| 280 |
+
raise RuntimeError(error_msg)
|
| 281 |
|
| 282 |
gitea_thread = threading.Thread(target=run_gitea)
|
| 283 |
gitea_thread.daemon = True
|
|
|
|
| 328 |
|
| 329 |
except Exception as e:
|
| 330 |
logger.error(f"❌ 启动服务时发生错误: {e}")
|
| 331 |
+
raise # 重新抛出异常以确保容器退出
|
| 332 |
finally:
|
| 333 |
if 'observer' in locals():
|
| 334 |
observer.stop()
|