Atualiza scripts e configurações do projeto para melhorar o gerenciamento de projetos e a estrutura do repositório
This commit is contained in:
65
host-status.sh
Normal file
65
host-status.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
# host-status.sh — exibe status de todos os projetos na stack
|
||||
|
||||
PROJECTS_DIR="/home/deploy/projects"
|
||||
DOMAIN="${DOMAIN:-nest.juancjc.com.br}"
|
||||
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo " NestJS Stack — Status dos Projetos"
|
||||
echo "================================================"
|
||||
|
||||
if [ ! -d "$PROJECTS_DIR" ]; then
|
||||
echo " ✗ Pasta $PROJECTS_DIR não encontrada"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PM2_LIST=$(docker exec nestjs-stack pm2 jlist 2>/dev/null)
|
||||
|
||||
found=0
|
||||
|
||||
for project_dir in "$PROJECTS_DIR"/*/; do
|
||||
[ -d "$project_dir" ] || continue
|
||||
project=$(basename "$project_dir")
|
||||
port=$(cat "$project_dir/.port" 2>/dev/null || echo "?")
|
||||
found=$((found + 1))
|
||||
|
||||
if [ ! -f "$project_dir/dist/main.js" ]; then
|
||||
echo " ✗ $project → sem build (rode: ./host-deploy.sh $project)"
|
||||
continue
|
||||
fi
|
||||
|
||||
status=$(echo "$PM2_LIST" | grep -o "\"name\":\"$project\".*?\"status\":\"[^\"]*\"" 2>/dev/null | grep -o "\"status\":\"[^\"]*\"" | cut -d'"' -f4)
|
||||
|
||||
if [ -z "$status" ]; then
|
||||
status="não iniciado"
|
||||
icon="⚠"
|
||||
elif [ "$status" = "online" ]; then
|
||||
icon="✓"
|
||||
else
|
||||
icon="✗"
|
||||
fi
|
||||
|
||||
if [ -f "/home/deploy/nginx-dynamic/${project}.conf" ]; then
|
||||
nginx_status="✓"
|
||||
else
|
||||
nginx_status="✗"
|
||||
fi
|
||||
|
||||
echo " $icon $project"
|
||||
echo " URL: http://$DOMAIN/$project"
|
||||
echo " Porta: $port"
|
||||
echo " PM2: $status"
|
||||
echo " Nginx: $nginx_status"
|
||||
echo ""
|
||||
done
|
||||
|
||||
if [ "$found" -eq 0 ]; then
|
||||
echo " Nenhum projeto encontrado em $PROJECTS_DIR"
|
||||
echo " Clone seus projetos: git clone <repo> $PROJECTS_DIR/<nome>"
|
||||
fi
|
||||
|
||||
echo "================================================"
|
||||
echo " Container: $(docker inspect -f '{{.State.Status}}' nestjs-stack 2>/dev/null || echo 'não encontrado')"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user