mirror of
https://github.com/gosom/google-maps-scraper.git
synced 2026-09-19 07:27:12 +08:00
33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
|
|
#!/bin/sh
|
||
|
|
set -e
|
||
|
|
|
||
|
|
IMAGE="ghcr.io/gosom/google-maps-scraper-saas:latest"
|
||
|
|
STATE_DIR="$HOME/.gmapssaas"
|
||
|
|
|
||
|
|
# --- helpers ---
|
||
|
|
info() { printf '\033[1;32m✓\033[0m %s\n' "$1"; }
|
||
|
|
fail() { printf '\033[1;31m✗\033[0m %s\n' "$1" >&2; exit 1; }
|
||
|
|
|
||
|
|
# --- preflight checks ---
|
||
|
|
command -v docker >/dev/null 2>&1 || fail "Docker is required but not installed. See https://docs.docker.com/get-docker/"
|
||
|
|
docker info >/dev/null 2>&1 || fail "Docker daemon is not running. Please start Docker and try again."
|
||
|
|
info "Docker is available"
|
||
|
|
|
||
|
|
# --- prepare state directory ---
|
||
|
|
mkdir -p "$STATE_DIR"
|
||
|
|
info "State directory ready ($STATE_DIR)"
|
||
|
|
|
||
|
|
# --- determine command (default: provision) ---
|
||
|
|
CMD="${1:-provision}"
|
||
|
|
|
||
|
|
# --- run (attach /dev/tty so interactive prompts work even via curl|sh) ---
|
||
|
|
exec docker run --rm -it \
|
||
|
|
-e HOME="$HOME" \
|
||
|
|
-e XDG_CACHE_HOME=/tmp/.cache \
|
||
|
|
-e GMAPSSAAS_IMAGE="$IMAGE" \
|
||
|
|
-v "$STATE_DIR:$STATE_DIR" \
|
||
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||
|
|
-v "$HOME/.ssh:$HOME/.ssh:ro" \
|
||
|
|
--user "$(id -u):$(id -g)" \
|
||
|
|
"$IMAGE" "$CMD" < /dev/tty
|