-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall-wsl.sh
executable file
·93 lines (74 loc) · 2.44 KB
/
install-wsl.sh
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
#!/bin/bash
echo "🚀 Iniciando instalação do projeto API de Gestão de Pedidos..."
# Verificar se o Docker está instalado
if ! command -v docker &> /dev/null; then
echo "❌ Docker não está instalado. Por favor, instale o Docker primeiro."
exit 1
fi
# Verificar se o Docker Compose está instalado
if ! command -v docker-compose &> /dev/null; then
echo "❌ Docker Compose não está instalado. Por favor, instale o Docker Compose primeiro."
exit 1
fi
# Atribuir permissão ao diretório
echo "🔑 Permissão necessária..."
sudo chmod -R 777 ../api-codeigniter4
echo "📦 Insalando extensões PHP..."
sudo apt install php-curl php-xml php-mbstring php-zip
sleep 3
#composer install
echo "📦 Instalando Composer..."
composer install
# Intalar JWT via Composer
echo "Instalado o JWT para Autenticação com token..."
composer require firebase/php-jwt
sleep 3
# Criar arquivo .env
echo "📝 Configurando arquivo .env..."
touch .env
# Configurar .env
cat > .env << EOL
CI_ENVIRONMENT = development
database.default.hostname = db
database.default.database = ci4
database.default.username = ci4user
database.default.password = ci4pass
database.default.DBDriver = MySQLi
database.tests.DBPrefix =
database.default.port = 3306
JWT_SECRET = "minha_vaga_backend"
EOL
# # Chave no .env
# echo "🔑 Gerando chave..."
# php spark key:generate
# sleep 2
# echo "🔑 Chave gerada com sucesso!"
# Subir containers Docker
echo "🐳 Iniciando containers Docker..."
docker-compose up -d
# Aguardar o MySQL iniciar completamente
echo "⏳ Aguardando MySQL inicializar..."
sleep 7
# Aplicar permissões para rodar as migrations e os seeders
echo "🔑 Aplicando permissões..."
docker-compose exec app bash -c "chmod -R 777 /app/writable"
# Executar migrations
echo "🔄 Executando migrations..."
docker-compose exec app bash -c "php spark migrate --force"
# Executar seeders
echo "🌱 Executando seeders..."
docker-compose exec app bash -c "php spark db:seed ClienteSeeder"
docker-compose exec app bash -c "php spark db:seed ProdutoSeeder"
docker-compose exec app bash -c "php spark db:seed PedidoSeeder"
docker-compose exec app bash -c "php spark db:seed ItemPedidoSeeder"
echo "✅ Instalação concluída!"
echo "🌐 A API está disponível em: http://localhost:8080"
echo "
Endpoints disponíveis:
- GET /api/clientes
- GET /api/produtos
- GET /api/pedidos
- GET /api/itens_pedido
Para testar a API:
curl http://localhost:8080/api/produtos?page=1&id=1
"