#!/bin/sh # 如果任何命令执行失败,立即退出脚本 set -e # --- !!! 重要配置 !!! --- # 定义应用程序期望的 api.yaml 文件路径 # 你必须确认 uni-api 程序实际读取的是哪个路径。 # 根据官方 README 的 'docker run' 示例,可能是 /home/api.yaml。 # 如果应用的工作目录是 /app,也可能是 /app/api.yaml。 # 请根据实际情况修改下面这个变量的值! CONFIG_FILE_PATH="/home/api.yaml" # --- !!! 重要配置结束 !!! --- echo "信息:入口点脚本已启动。" # 检查名为 API_YAML_CONTENT 的环境变量(来自 Secret)是否存在且非空 if [ -z "$API_YAML_CONTENT" ]; then echo "错误:Secret 'API_YAML_CONTENT' 未设置或为空。无法创建 $CONFIG_FILE_PATH。" # 遇到错误,以非零状态码退出容器 exit 1 else echo "信息:找到 API_YAML_CONTENT Secret。正在写入到 $CONFIG_FILE_PATH..." # 使用 printf 更安全地写入可能包含特殊字符和多行的内容 printf '%s\n' "$API_YAML_CONTENT" > "$CONFIG_FILE_PATH" echo "信息:已成功写入 $CONFIG_FILE_PATH。" # 如果需要调试,可以取消下面这行的注释来查看文件权限和大小 # ls -l "$CONFIG_FILE_PATH" fi echo "信息:将执行权交给原始应用程序命令 (python main.py)..." # 使用 exec 替换当前 shell 进程,启动 Python 应用。 # "$@" 会将任何传递给 entrypoint.sh 的参数原样传递给 python main.py exec python main.py "$@"