Эх сурвалжийг харах

fix(docker): 添加 gpustack-server s6 服务,实现容器启动时自动执行 gpustack start

- 新增 gpustack-server s6 longrun 服务,依赖 postgres 和 gpustack-migration
- 新增 gpustack-server-logger 日志服务
- 修正 entrypoint.sh:exec /init $@ 替代 exec /init gpustack start $@
- s6-overlay 会在 postgres 启动且 migration 完成后自动启动 gpustack server
kinglee 1 долоо хоног өмнө
parent
commit
e7a6be1a80

+ 1 - 2
pack/entrypoint.sh

@@ -40,5 +40,4 @@ rm -rf "${GPUSTACK_GATEWAY_CONFIG}"
 
 export S6_STAGE2_HOOK="/etc/s6-overlay/scripts/gpustack-prerun.sh"
 
-# shellcheck disable=SC2068
-exec /init gpustack start $@
+exec /init "$@"

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server-logger/consumer-for/gpustack-server

@@ -0,0 +1 @@
+gpustack-server

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server-logger/pipeline-name

@@ -0,0 +1 @@
+gpustack-server-logger

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server-logger/run

@@ -0,0 +1 @@
+#!/command/with-contenv /usr/bin/s6-log /var/log/gpustack

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server-logger/type

@@ -0,0 +1 @@
+logger

+ 2 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server/dependencies.d/gpustack-migration

@@ -0,0 +1,2 @@
+gpustack-migration
+postgres

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server/producer-for/gpustack-server-logger

@@ -0,0 +1 @@
+gpustack-server

+ 27 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server/run

@@ -0,0 +1,27 @@
+#!/command/with-contenv /bin/bash
+# shellcheck disable=SC1091,SC2068
+# =============================
+# GPUStack server longrun service
+# =============================
+
+source /etc/profile
+SCRIPT_ROOT=/etc/s6-overlay/scripts
+source "$SCRIPT_ROOT/base.sh"
+
+ARGS_FILE="/run/gpustack/args"
+
+# Read arguments from the args file if it exists and is not empty
+set --
+if [ -s "$ARGS_FILE" ]; then
+    while IFS= read -r line || [ -n "$line" ]; do
+        [ -z "$line" ] && continue
+        set -- "$@" "$line"
+    done < "$ARGS_FILE"
+fi
+
+echo "[INFO] Starting gpustack server."
+if [ "$#" -gt 0 ]; then
+    exec gpustack start "$@"
+else
+    exec gpustack start
+fi

+ 1 - 0
pack/rootfs/etc/s6-overlay/s6-rc.d/gpustack-server/type

@@ -0,0 +1 @@
+longrun

+ 1 - 0
pack/rootfs/var/log/gpustack/.gitkeep

@@ -0,0 +1 @@
+.