From c9e34cc205c65efcc8bc3225c92ef8c1417e612c Mon Sep 17 00:00:00 2001 From: Leechael Yim Date: Wed, 11 Nov 2026 03:41:27 +0800 Subject: [PATCH 1/2] fix(prelaunch): v0.0.22 - writable DOCKER_CONFIG and busybox unzip dstack-0.6.1 Debian guests cannot mkdir /root/.docker (read-only rootfs). Point Docker at /tmp/.docker before login. Also extract awscliv2.zip with busybox unzip when unzip is not on PATH, which is the 0.6.1 guest case. --- phala-cloud-prelaunch-script/prelaunch.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/phala-cloud-prelaunch-script/prelaunch.sh b/phala-cloud-prelaunch-script/prelaunch.sh index 9ae97d0d..839cf32d 100644 --- a/phala-cloud-prelaunch-script/prelaunch.sh +++ b/phala-cloud-prelaunch-script/prelaunch.sh @@ -1,6 +1,6 @@ #!/bin/bash echo "----------------------------------------------" -echo "Running Phala Cloud Pre-Launch Script v0.0.20" +echo "Running Phala Cloud Pre-Launch Script v0.0.22" echo "----------------------------------------------" set -e @@ -95,6 +95,12 @@ echo "Starting login process..." # credentials set. Bare "$VAR" throws "unbound variable" under nounset. DOCKER_REGISTRY_TARGET="${DSTACK_DOCKER_REGISTRY:-docker.io}" +# dstack-0.6.1 Debian rootfs is read-only. docker login would create +# $HOME/.docker (/root/.docker), which is not in the writable overlay. +export DOCKER_CONFIG=/tmp/.docker +mkdir -p "$DOCKER_CONFIG" +chmod 700 "$DOCKER_CONFIG" + # Check if Docker credentials exist if [[ -n "${DSTACK_DOCKER_USERNAME-}" && -n "${DSTACK_DOCKER_PASSWORD-}" ]]; then echo "Docker credentials found" @@ -137,7 +143,15 @@ elif [[ -n "${DSTACK_AWS_ACCESS_KEY_ID-}" && -n "${DSTACK_AWS_SECRET_ACCESS_KEY- notify_host_hoot_error "awscli install failed" exit 1 fi - unzip awscliv2.zip &> /dev/null + if command -v unzip >/dev/null 2>&1; then + unzip awscliv2.zip >/dev/null 2>&1 + elif command -v busybox >/dev/null 2>&1; then + busybox unzip awscliv2.zip >/dev/null 2>&1 + else + echo "ERROR: unzip is not available" + notify_host_hoot_error "awscli install failed" + exit 1 + fi else echo "AWS CLI is already installed: ./aws/dist/aws" fi From 3811c903df9643b68d5510b0a63828384ab2c1c3 Mon Sep 17 00:00:00 2001 From: Leechael Yim Date: Wed, 11 Nov 2026 04:14:01 +0800 Subject: [PATCH 2/2] fix(prelaunch): v0.0.21 - writable DOCKER_CONFIG and busybox unzip dstack-examples never published a v0.0.21. Public version after v0.0.20 is v0.0.21. Point Docker at /tmp/.docker before login, and extract awscliv2.zip with busybox unzip when unzip is not on PATH. --- phala-cloud-prelaunch-script/prelaunch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phala-cloud-prelaunch-script/prelaunch.sh b/phala-cloud-prelaunch-script/prelaunch.sh index 839cf32d..12442a1e 100644 --- a/phala-cloud-prelaunch-script/prelaunch.sh +++ b/phala-cloud-prelaunch-script/prelaunch.sh @@ -1,6 +1,6 @@ #!/bin/bash echo "----------------------------------------------" -echo "Running Phala Cloud Pre-Launch Script v0.0.22" +echo "Running Phala Cloud Pre-Launch Script v0.0.21" echo "----------------------------------------------" set -e