39 lines
802 B
Bash
Executable File
39 lines
802 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Local dev entrypoint (all-in-one container: Node + Python).
|
|
# Usage:
|
|
# ./dev.sh # up --build (foreground)
|
|
# ./dev.sh up # same as above
|
|
# ./dev.sh up -d # detached
|
|
# ./dev.sh logs # follow logs
|
|
# ./dev.sh down # stop and remove
|
|
# ./dev.sh rebuild # rebuild image
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
CMD="${1:-up}"
|
|
shift || true
|
|
|
|
case "$CMD" in
|
|
up)
|
|
docker compose up --build "$@"
|
|
;;
|
|
rebuild)
|
|
docker compose build "$@"
|
|
;;
|
|
logs)
|
|
docker compose logs -f --tail=200 "$@"
|
|
;;
|
|
down)
|
|
docker compose down "$@"
|
|
;;
|
|
*)
|
|
echo "Unknown command: $CMD" >&2
|
|
echo "Usage: ./dev.sh [up|rebuild|logs|down] [args...]" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
|