Add customer service API deployment support
This commit is contained in:
71
scripts/server_rootless_docker.sh
Executable file
71
scripts/server_rootless_docker.sh
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_DIR="${PROJECT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}"
|
||||
ROOTLESS_RUNTIME_DIR="${ROOTLESS_RUNTIME_DIR:-$HOME/.docker/run}"
|
||||
DOCKER_SOCK="${DOCKER_SOCK:-$ROOTLESS_RUNTIME_DIR/docker.sock}"
|
||||
DOCKER_LOG="${DOCKER_LOG:-$HOME/.docker/dockerd-rootless.log}"
|
||||
|
||||
ensure_docker() {
|
||||
mkdir -p "$ROOTLESS_RUNTIME_DIR"
|
||||
chmod 700 "$ROOTLESS_RUNTIME_DIR"
|
||||
|
||||
if DOCKER_HOST="unix://$DOCKER_SOCK" docker info >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ! pgrep -u "$(id -u)" -f "dockerd-rootless.sh.*$DOCKER_SOCK" >/dev/null 2>&1; then
|
||||
: > "$DOCKER_LOG"
|
||||
setsid sh -c \
|
||||
"export XDG_RUNTIME_DIR='$ROOTLESS_RUNTIME_DIR'; exec dockerd-rootless.sh --iptables=false --host=unix://$DOCKER_SOCK >> '$DOCKER_LOG' 2>&1" \
|
||||
< /dev/null >/dev/null 2>&1 &
|
||||
fi
|
||||
|
||||
for _ in $(seq 1 45); do
|
||||
if DOCKER_HOST="unix://$DOCKER_SOCK" docker info >/dev/null 2>&1; then
|
||||
return 0
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Docker rootless daemon did not become ready. Last log lines:" >&2
|
||||
tail -n 80 "$DOCKER_LOG" >&2 || true
|
||||
return 1
|
||||
}
|
||||
|
||||
compose() {
|
||||
ensure_docker
|
||||
export DOCKER_HOST="unix://$DOCKER_SOCK"
|
||||
cd "$PROJECT_DIR"
|
||||
docker compose "$@"
|
||||
}
|
||||
|
||||
case "${1:-up}" in
|
||||
start)
|
||||
ensure_docker
|
||||
;;
|
||||
up)
|
||||
compose up -d
|
||||
;;
|
||||
build-up)
|
||||
compose up -d --build
|
||||
;;
|
||||
ps)
|
||||
compose ps
|
||||
;;
|
||||
logs)
|
||||
shift
|
||||
compose logs "${@:-api}"
|
||||
;;
|
||||
down)
|
||||
compose down
|
||||
;;
|
||||
health)
|
||||
curl -fsS http://127.0.0.1:${API_PORT:-8102}/v1/admin/health
|
||||
echo
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|up|build-up|ps|logs [service]|down|health}" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user