BlueSkyXN commited on
Commit
bf3cab4
·
verified ·
1 Parent(s): f140f89
Files changed (3) hide show
  1. Dockerfile +14 -10
  2. README.md +1 -1
  3. entrypoint.sh +8 -8
Dockerfile CHANGED
@@ -1,18 +1,22 @@
1
- # 使用 uni-api 作者发布的官方镜像作为基础
2
  FROM yym68686/uni-api:latest
3
 
4
- # 设置用户和工作目录来避免权限问题
 
 
 
5
  RUN useradd -m -u 1000 user
6
  USER user
7
  ENV HOME=/home/user \
8
- PATH=/home/user/.local/bin:$PATH
9
- WORKDIR $HOME/app
10
 
11
- # 将你的自定义入口点脚本复制到镜像的文件系统中
12
- COPY --chown=user entrypoint.sh $HOME/app/entrypoint.sh
 
13
 
14
- # 确保脚本在镜像内部具有执行权限
15
- RUN chmod +x $HOME/app/entrypoint.sh
16
 
17
- # 将你的自定义脚本设置为容器的入口点
18
- ENTRYPOINT ["./entrypoint.sh"]
 
1
+ # 使用uni-api官方镜像
2
  FROM yym68686/uni-api:latest
3
 
4
+ # 创建数据目录并设置权限
5
+ RUN mkdir -p /data && chown -R 1000:1000 /data
6
+
7
+ # 设置用户和工作目录
8
  RUN useradd -m -u 1000 user
9
  USER user
10
  ENV HOME=/home/user \
11
+ PATH=/home/user/.local/bin:$PATH \
12
+ DISABLE_DATABASE=true
13
 
14
+ # 复制入口点脚本
15
+ COPY --chown=user entrypoint.sh /home/user/entrypoint.sh
16
+ RUN chmod +x /home/user/entrypoint.sh
17
 
18
+ # 设置工作目录
19
+ WORKDIR /home/user
20
 
21
+ # 入口点
22
+ ENTRYPOINT ["/home/user/entrypoint.sh"]
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: 🌍
4
  colorFrom: gray
5
  colorTo: yellow
6
  sdk: docker
7
- app_port: 8000 # 确保这与uni-api实际监听的端口匹配
8
  pinned: false
9
  license: gpl-3.0
10
  ---
 
4
  colorFrom: gray
5
  colorTo: yellow
6
  sdk: docker
7
+ app_port: 8000
8
  pinned: false
9
  license: gpl-3.0
10
  ---
entrypoint.sh CHANGED
@@ -1,10 +1,10 @@
1
  #!/bin/sh
2
  set -e
3
- CONFIG_FILE_PATH="$HOME/app/api.yaml" # 确认路径!
4
 
5
- echo "DEBUG: Entrypoint script started." # 添加启动信息
6
 
7
- # 检查 Secret 是否存在
8
  if [ -z "$API_YAML_CONTENT" ]; then
9
  echo "ERROR: Secret 'API_YAML_CONTENT' is not set or empty. Exiting."
10
  exit 1
@@ -12,16 +12,16 @@ else
12
  echo "DEBUG: API_YAML_CONTENT secret found. Preparing to write..."
13
  printf '%s\n' "$API_YAML_CONTENT" > "$CONFIG_FILE_PATH"
14
  echo "DEBUG: Attempted to write to $CONFIG_FILE_PATH."
15
- # 检查文件是否真的创建了
16
  if [ -f "$CONFIG_FILE_PATH" ]; then
17
  echo "DEBUG: File $CONFIG_FILE_PATH created successfully. Size: $(wc -c < "$CONFIG_FILE_PATH") bytes."
18
  else
19
  echo "ERROR: File $CONFIG_FILE_PATH was NOT created."
20
- exit 1 # 如果文件没创建成功就退出
21
  fi
22
  fi
23
 
24
- echo "DEBUG: About to execute python main.py..." # 添加执行前信息
25
- # 这里使用相对路径调用主程序
26
  cd /home
27
- exec python main.py "$@"
 
1
  #!/bin/sh
2
  set -e
3
+ CONFIG_FILE_PATH="/home/user/api.yaml"
4
 
5
+ echo "DEBUG: Entrypoint script started."
6
 
7
+ # 检查Secret是否存在
8
  if [ -z "$API_YAML_CONTENT" ]; then
9
  echo "ERROR: Secret 'API_YAML_CONTENT' is not set or empty. Exiting."
10
  exit 1
 
12
  echo "DEBUG: API_YAML_CONTENT secret found. Preparing to write..."
13
  printf '%s\n' "$API_YAML_CONTENT" > "$CONFIG_FILE_PATH"
14
  echo "DEBUG: Attempted to write to $CONFIG_FILE_PATH."
15
+
16
  if [ -f "$CONFIG_FILE_PATH" ]; then
17
  echo "DEBUG: File $CONFIG_FILE_PATH created successfully. Size: $(wc -c < "$CONFIG_FILE_PATH") bytes."
18
  else
19
  echo "ERROR: File $CONFIG_FILE_PATH was NOT created."
20
+ exit 1
21
  fi
22
  fi
23
 
24
+ echo "DEBUG: About to execute python main.py..."
25
+ # 使用配置文件路径作为参数
26
  cd /home
27
+ exec python main.py --config "$CONFIG_FILE_PATH" "$@"