.PHONY: start stop restart deploy logs build ps port health clean-orphans app-shell db-shell db-init db-generate db-migrate db-push db-seed help start: docker compose up -d --build stop: docker compose down restart: stop start deploy: git pull docker compose up -d --build @git log -1 --oneline logs: docker compose logs -f --tail=200 build: docker compose build ps: docker compose ps port: @echo "Site: http://localhost:3014" @echo "Admin: http://rootmohfarawati.localhost:3014" 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 "npm run db:migrate && npm run db:seed" db-generate: docker compose exec app npm run db:generate db-migrate: docker compose exec app npm run db:migrate db-push: docker compose exec app npm run db:push db-seed: docker compose exec app npm run db:seed health: curl -sS https://mohfarawati.de/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 deploy Pull latest code and deploy updated stack" @echo " make logs Follow container logs" @echo " make build Build images" @echo " make ps Show container status" @echo " make port Show app public URL" @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 Apply migrations and run seed (first run)" @echo " make db-generate Generate a Drizzle migration from schema changes" @echo " make db-migrate Apply pending Drizzle migrations" @echo " make db-push Push schema directly (dev convenience)" @echo " make db-seed Seed database data" @echo " make health Check app health endpoint via public domain"