fix(dev): address CLI review feedback

This commit is contained in:
Thomas Camlong committed 2026-07-31 14:53:43 +02:00
1 parent e97eb7fc58
commit c8485ed7fc
18 files changed
+307 -160

No files matched your search

+34 -4
View File
@@ -10,6 +10,18 @@ for command in corepack go docker gh; do
exit 1
fi
done
if ! docker compose version >/dev/null 2>&1; then
printf 'Required command not found: docker compose\n' >&2
exit 1
fi
if ! docker info >/dev/null 2>&1; then
printf 'Docker daemon is not available.\n' >&2
exit 1
fi
if ! gh auth status >/dev/null 2>&1; then
printf 'GitHub CLI is not authenticated. Run `gh auth login`.\n' >&2
exit 1
fi
if [ ! -f "$repository_root/.env" ]; then
database_directory="$HOME/.local/share/homarr"
@@ -22,10 +34,22 @@ fi
corepack enable pnpm
pnpm --dir "$repository_root" install
if [ -z "$(docker ps --filter publish=6379 --format '{{.ID}}')" ]; then
docker compose -f "$repository_root/development/development.docker-compose.yml" up -d --no-recreate redis
else
compose_file="$repository_root/development/development.docker-compose.yml"
redis_id="$(docker compose -f "$compose_file" ps -q redis)"
if [ -n "$redis_id" ] && [ "$(docker inspect --format '{{.State.Running}}' "$redis_id")" = "true" ] && [ "$(docker compose -f "$compose_file" exec -T redis redis-cli ping)" = "PONG" ]; then
printf 'Redis is already available on port 6379.\n'
else
docker compose -f "$compose_file" up -d --no-recreate redis
for _ in {1..30}; do
if [ "$(docker compose -f "$compose_file" exec -T redis redis-cli ping 2>/dev/null)" = "PONG" ]; then
break
fi
sleep 1
done
if [ "$(docker compose -f "$compose_file" exec -T redis redis-cli ping 2>/dev/null)" != "PONG" ]; then
printf 'Redis did not become ready.\n' >&2
exit 1
fi
fi
pnpm --dir "$repository_root" db:migration:sqlite:run
mkdir -p "$HOME/.local/bin"
@@ -42,4 +66,10 @@ if [ -d "$HOME/.config/fish/completions" ]; then
"$HOME/.local/bin/homarr" completion fish > "$HOME/.config/fish/completions/homarr.fish"
fi
printf 'Development environment ready. Run `homarr dev` or `pnpm dev`.\n'
cli_command="$HOME/.local/bin/homarr"
case ":$PATH:" in
*":$HOME/.local/bin:"*) cli_command="homarr" ;;
*) printf 'Add %s to PATH to run `homarr` directly.\n' "$HOME/.local/bin" ;;
esac
printf 'Development environment ready. Run `%s dev` or `pnpm dev`.\n' "$cli_command"