Add Docker and Nginx configuration for Cloud Run deployment
This commit is contained in:
68
run.sh
Executable file
68
run.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Helper script for docker compose workflow
|
||||
# Usage examples:
|
||||
# ./run.sh up # build (if needed) and start in background
|
||||
# ./run.sh rebuild # force full rebuild (no cache) and start
|
||||
# ./run.sh down # stop and remove containers
|
||||
# ./run.sh logs # follow logs
|
||||
# ./run.sh artisan migrate
|
||||
# ./run.sh sh # shell into PHP app container
|
||||
# ./run.sh restart # restart containers
|
||||
# ./run.sh build # build images (uses cache)
|
||||
|
||||
CMD=${1:-up}
|
||||
shift || true
|
||||
|
||||
case "$CMD" in
|
||||
build)
|
||||
echo "[build] Building images (with cache)..."
|
||||
docker compose build
|
||||
;;
|
||||
up)
|
||||
echo "[up] Starting services (build if needed)..."
|
||||
docker compose up -d --build
|
||||
;;
|
||||
rebuild)
|
||||
echo "[rebuild] Full rebuild without cache..."
|
||||
docker compose down || true
|
||||
docker compose build --no-cache
|
||||
docker compose up -d
|
||||
;;
|
||||
down)
|
||||
echo "[down] Stopping and removing services..."
|
||||
docker compose down
|
||||
;;
|
||||
restart)
|
||||
echo "[restart] Restarting services..."
|
||||
docker compose restart
|
||||
;;
|
||||
logs)
|
||||
echo "[logs] Following logs (Ctrl+C to exit)..."
|
||||
docker compose logs -f --tail=200 "$@"
|
||||
;;
|
||||
artisan)
|
||||
echo "[artisan] php artisan $*"
|
||||
docker compose exec app php artisan "$@"
|
||||
;;
|
||||
sh)
|
||||
echo "[sh] Opening shell in app container..."
|
||||
docker compose exec app sh
|
||||
;;
|
||||
*)
|
||||
cat <<EOF
|
||||
Usage: ./run.sh <command> [args]
|
||||
Commands:
|
||||
up Build (if needed) and start containers
|
||||
build Build images using cache
|
||||
rebuild Rebuild images without cache then start
|
||||
down Stop and remove containers
|
||||
restart Restart running containers
|
||||
logs Follow logs (pass service names optionally)
|
||||
artisan Run php artisan <args>
|
||||
sh Shell into app container
|
||||
EOF
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user