schon/scripts/Unix/run.sh

38 lines
1.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
source ./scripts/Unix/starter.sh
echo "Verifying all images are present..."
if command -v jq >/dev/null 2>&1; then
images=$(docker compose config --format json | jq -r '.services[].image // empty')
if [ -n "$images" ]; then
for image in $images; do
if ! docker image inspect "$image" > /dev/null 2>&1; then
echo "Required images not found. Please run install.sh first." >&2
exit 1
fi
echo " - Found image: $image"
done
fi
else
echo "jq is not installed; skipping image verification step."
fi
echo "Spinning services up..."
docker compose up --no-build --detach --wait
echo "Services are up and healthy!"
echo "Completing pre-run tasks..."
docker compose exec app uv run python manage.py migrate --no-input --verbosity 0
docker compose exec app uv run python manage.py initialize
docker compose exec app uv run python manage.py set_default_caches
docker compose exec app uv run python manage.py search_index --rebuild -f
docker compose exec app uv run python manage.py collectstatic --clear --no-input --verbosity 0
echo "Pre-run tasks completed successfully!"
echo "Cleaning unused Docker data..."
docker system prune -f
echo "Unused Docker data cleaned successfully!"
echo "All done! eVibes is up and running!"