fix the manager
This commit is contained in:
33
install.sh
33
install.sh
@@ -12,6 +12,7 @@ SKIP_BUILD="${SKIP_BUILD:-0}"
|
||||
SKIP_MANAGER_BUILD="${SKIP_MANAGER_BUILD:-0}"
|
||||
PULL_APP_IMAGE="${PULL_APP_IMAGE:-0}"
|
||||
PULL_MANAGER_IMAGE="${PULL_MANAGER_IMAGE:-0}"
|
||||
MIN_DOCKER_FREE_MB="${MIN_DOCKER_FREE_MB:-8192}"
|
||||
|
||||
echo "Project root: ${ROOT_DIR}"
|
||||
echo "Manager dir: ${MANAGER_DIR}"
|
||||
@@ -32,6 +33,37 @@ ensure_image_exists() {
|
||||
fi
|
||||
}
|
||||
|
||||
check_docker_free_space() {
|
||||
local docker_root
|
||||
docker_root="$(docker info -f '{{.DockerRootDir}}' 2>/dev/null || true)"
|
||||
if [[ -z "${docker_root}" || ! -d "${docker_root}" ]]; then
|
||||
echo "Could not determine Docker root directory. Is Docker running?" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local available_kb available_mb
|
||||
available_kb="$(df -Pk "${docker_root}" | awk 'NR == 2 {print $4}')"
|
||||
available_mb=$((available_kb / 1024))
|
||||
|
||||
echo "Docker root: ${docker_root} (${available_mb} MB free)"
|
||||
if (( available_mb < MIN_DOCKER_FREE_MB )); then
|
||||
cat >&2 <<EOF
|
||||
Not enough free space in Docker storage to build reliably.
|
||||
Need at least ${MIN_DOCKER_FREE_MB} MB free; found ${available_mb} MB.
|
||||
|
||||
Run:
|
||||
docker builder prune -f
|
||||
docker image prune -f
|
||||
docker container prune -f
|
||||
|
||||
Then check:
|
||||
docker system df
|
||||
df -h ${docker_root}
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ -n "${APP_IMAGE_ARCHIVE}" ]]; then
|
||||
echo "Loading prebuilt app image from ${APP_IMAGE_ARCHIVE}"
|
||||
docker load -i "${APP_IMAGE_ARCHIVE}"
|
||||
@@ -39,6 +71,7 @@ elif [[ "${PULL_APP_IMAGE}" == "1" ]]; then
|
||||
echo "Pulling app image ${APP_IMAGE_NAME}"
|
||||
docker pull "${APP_IMAGE_NAME}"
|
||||
elif [[ "${SKIP_BUILD}" != "1" ]]; then
|
||||
check_docker_free_space
|
||||
echo "Building app image ${APP_IMAGE_NAME}"
|
||||
docker build -t "${APP_IMAGE_NAME}" "${ROOT_DIR}"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user