#!/bin/sh set -eu cd /home/mikail/dana-medical docker compose -p dana-medical -f docker-compose.prod.yml config --quiet docker compose -p dana-medical -f docker-compose.prod.yml build api docker compose -p dana-medical -f docker-compose.prod.yml create api media_volume="$(docker volume ls -q \ --filter label=com.docker.compose.project=dana-medical \ --filter label=com.docker.compose.volume=media)" test -n "$media_volume" docker run --rm \ -v "$media_volume:/dest" \ -v /home/mikail/dana-medical/media:/src:ro \ postgres:16-alpine sh -c 'cp -a /src/. /dest/ && chown -R 10001:10001 /dest' docker compose -p dana-medical -f docker-compose.prod.yml up -d api api_id="$(docker compose -p dana-medical -f docker-compose.prod.yml ps -q api)" test -n "$api_id" i=0 status=starting while [ "$i" -lt 45 ]; do status="$(docker inspect --format '{{.State.Health.Status}}' "$api_id")" [ "$status" = healthy ] && break [ "$status" = unhealthy ] && docker logs --tail 80 "$api_id" && exit 1 sleep 2 i=$((i + 1)) done [ "$status" = healthy ] printf 'api_health=%s\n' "$status" printf 'media_volume=%s\n' "$media_volume" printf 'media_files=%s\n' "$(docker run --rm -v "$media_volume:/data:ro" postgres:16-alpine sh -c 'find /data -type f | wc -l')"