-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-utils.sh
More file actions
executable file
·136 lines (123 loc) · 3.11 KB
/
docker-utils.sh
File metadata and controls
executable file
·136 lines (123 loc) · 3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
# Utilitários Docker para o projeto Hospify
# Uso: ./docker-utils.sh [comando]
function show_help() {
echo "🏥 Utilitários Docker - Projeto Hospify"
echo "======================================"
echo ""
echo "Comandos disponíveis:"
echo " start - Inicia o projeto"
echo " stop - Para o projeto"
echo " restart - Reinicia o projeto"
echo " logs - Mostra logs de todos os serviços"
echo " status - Mostra status dos containers"
echo " clean - Limpeza básica"
echo " reset - Reset completo do projeto"
echo " deep-clean - Limpeza profunda do Docker"
echo " import - Status da importação de dados"
echo " rebuild - Reconstrói e reinicia tudo"
echo ""
echo "Exemplos:"
echo " ./docker-utils.sh start"
echo " ./docker-utils.sh logs backend"
echo " ./docker-utils.sh status"
}
function start_project() {
echo "🚀 Iniciando projeto..."
docker-compose up -d
echo "✅ Projeto iniciado!"
echo " Frontend: http://localhost:3000"
echo " Backend: http://localhost:8000"
}
function stop_project() {
echo "⏸️ Parando projeto..."
docker-compose down
echo "✅ Projeto parado!"
}
function restart_project() {
echo "🔄 Reiniciando projeto..."
docker-compose restart
echo "✅ Projeto reiniciado!"
}
function show_logs() {
if [ -n "$2" ]; then
echo "📋 Logs do serviço $2..."
docker-compose logs -f "$2"
else
echo "📋 Logs de todos os serviços..."
docker-compose logs -f
fi
}
function show_status() {
echo "📊 Status dos containers:"
docker-compose ps
echo ""
echo "💾 Uso do Docker:"
docker system df
}
function clean_basic() {
echo "🧹 Limpeza básica..."
docker system prune -f
echo "✅ Limpeza básica concluída!"
}
function reset_project() {
echo "🔄 Reset completo do projeto..."
./reset-project.sh
}
function deep_clean() {
echo "🧽 Limpeza profunda..."
./docker-cleanup.sh
}
function import_status() {
echo "📊 Status da importação de dados:"
curl -s http://localhost:8000/import/status | python3 -m json.tool 2>/dev/null || echo "❌ Backend não está respondendo"
}
function rebuild_all() {
echo "🏗️ Reconstruindo projeto..."
docker-compose down -v
docker-compose build --no-cache
docker-compose up -d
echo "✅ Projeto reconstruído!"
}
# Processar comando
case "$1" in
"start")
start_project
;;
"stop")
stop_project
;;
"restart")
restart_project
;;
"logs")
show_logs "$@"
;;
"status")
show_status
;;
"clean")
clean_basic
;;
"reset")
reset_project
;;
"deep-clean")
deep_clean
;;
"import")
import_status
;;
"rebuild")
rebuild_all
;;
"help"|"--help"|"-h"|"")
show_help
;;
*)
echo "❌ Comando não reconhecido: $1"
echo ""
show_help
exit 1
;;
esac