.PHONY: start stop restart logs build ps port health clean-orphans app-shell db-shell db-init db-migrate db-seed prisma-generate prisma-migrate help MIGRATION_NAME ?= init start: docker compose up -d --build stop: docker compose down restart: stop start logs: docker compose logs -f --tail=200 build: docker compose build ps: docker compose ps port: docker compose port app 3000 clean-orphans: docker compose up -d --remove-orphans app-shell: docker compose exec app sh db-shell: docker compose exec db psql -U postgres -d moh_sass db-init: docker compose exec app sh -lc "npx prisma generate && npx prisma migrate deploy && npx prisma db seed" db-migrate: docker compose exec app npx prisma migrate deploy db-seed: docker compose exec app npx prisma db seed prisma-generate: docker compose exec app npx prisma generate prisma-migrate: docker compose exec app npx prisma migrate dev --name $(MIGRATION_NAME) health: @PORT=$$(docker compose port app 3000 | sed 's/.*://'); \ curl -sS "http://localhost:$$PORT/api/health" help: @echo "Available targets:" @echo " make start Start all containers" @echo " make stop Stop and remove containers" @echo " make restart Restart all containers" @echo " make logs Follow container logs" @echo " make build Build images" @echo " make ps Show container status" @echo " make port Show random host port for app" @echo " make clean-orphans Remove orphaned old containers" @echo " make app-shell Open shell in app container" @echo " make db-shell Open PostgreSQL shell" @echo " make db-init Generate client, apply migrations, run seed" @echo " make db-migrate Apply prisma migrations" @echo " make db-seed Seed database data" @echo " make prisma-generate Run prisma generate" @echo " make prisma-migrate Create/apply dev migration" @echo " make health Check app health endpoint"