dsh 0.2.0-rc.2: in-container update (experimental channel), path-agnostic compose, upstream patches adapted to 0.1.x/0.2.x
This commit is contained in:
commit
e6dcef9bf5
302 files changed
+75178
No files matched your search
@@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
# ════════════════════════════════════════════════════════════════════════════
|
||||
# Обновление плагинов профиля web (и фикс bind-адреса code-server после этого).
|
||||
# CLI-апдейт dsh НЕ трогает плагины — они обновляются отдельно.
|
||||
#
|
||||
# Использование:
|
||||
# scripts/update-plugins.sh [--add github:<owner>/<repo>] [--no-restart]
|
||||
# ════════════════════════════════════════════════════════════════════════════
|
||||
set -eu
|
||||
CONTAINER=${DSH_CONTAINER_NAME:-dsh}
|
||||
ADD=""
|
||||
RESTART=1
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--add) ADD="$2"; shift 2 ;;
|
||||
--no-restart) RESTART=0; shift ;;
|
||||
*) echo "unknown arg: $1" >&2; exit 64 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
docker inspect -f '{{.State.Running}}' "$CONTAINER" >/dev/null 2>&1 || {
|
||||
echo "Контейнер '$CONTAINER' не запущен" >&2; exit 1; }
|
||||
|
||||
# Внутренний редирект: без него docker exec может виснуть на фоновом потомке pnpm.
|
||||
if [ -n "$ADD" ]; then
|
||||
echo "=== Установка плагина: $ADD"
|
||||
docker exec "$CONTAINER" sh -c "dsh plugin --profile web add '$ADD' >/tmp/dsh-plugin.log 2>&1; tail -5 /tmp/dsh-plugin.log"
|
||||
fi
|
||||
|
||||
echo "=== Обновление всех плагинов профиля web"
|
||||
docker exec "$CONTAINER" sh -c "dsh plugin --profile web update >/tmp/dsh-plugin.log 2>&1; tail -20 /tmp/dsh-plugin.log"
|
||||
|
||||
echo "=== Фикс bind-адреса code-server (127.0.0.1 -> 0.0.0.0), иначе порт 18500 снаружи refused"
|
||||
docker exec "$CONTAINER" sh -c \
|
||||
"sed -i \"s/'--bind-addr', '127.0.0.1:' + port/'--bind-addr', '0.0.0.0:' + port/\" /data/dsh/profiles/web/node_modules/dsh-vsceditor/lib/host.js 2>/dev/null || echo '(dsh-vsceditor не установлен — пропуск)'"
|
||||
|
||||
if [ "$RESTART" = 1 ]; then
|
||||
echo "=== Рестарт контейнера (pnpm пересобрал граф node_modules под живой процесс)"
|
||||
docker restart "$CONTAINER"
|
||||
echo "ОК. Дождитесь healthy: docker inspect -f '{{.State.Health.Status}}' $CONTAINER"
|
||||
fi
|
||||
Reference in new issue
Block a user