-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
57 lines (49 loc) · 2.07 KB
/
Makefile
File metadata and controls
57 lines (49 loc) · 2.07 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
DOCKER_COMPOSE := $(shell command -v docker compose 2> /dev/null)
ENV_FILE=.env
ifndef DOCKER_COMPOSE
$(error "docker compose is not installed or not in your PATH")
endif
setup:
@echo "Preparando ambiente docker... 🏗️"
@echo "Iniciando containers... 🚀"
@echo "======================================="
@docker compose up -d
@echo "Instalando dependências... 📦"
@echo "======================================="
@docker compose exec app composer install --no-interaction
@echo "Adicionando Pest para testes... 🧪"
@echo "======================================="
@docker compose exec app composer require pestphp/pest --dev --with-all-dependencies
@docker compose exec app mkdir -p ./vendor/pestphp/pest/.temp
@docker compose exec app chmod -R 777 ./vendor/pestphp/pest/.temp
@echo "Connfigurando banco de dados... 🗃️"
@echo "======================================="
@mkdir -p ./.docker/db/mysql
@mkdir -p ./storage/cache
@mkdir -p './tests/Architecture'
@echo "Permissões para pastas:"
@echo " 📁 .docker/db/mysql"
@echo " 📁 storage/cache"
@echo " 📁 tests/Architecture"
@echo "======================================="
@echo "⚠️ Será necessário informar a senha do usuário root do MySQL para permissão nas pastas criadas listadas acima."
@sudo chmod -R 755 ./.docker/db/mysql
@sudo chmod -R 755 ./storage/cache
@echo "Configurando ambiente... 🛠️"
@echo "======================================="
@docker compose exec app cp .env.example .env
@echo "======================================="
@echo "Gerando chave de aplicação... 🔑"
@echo "Adicionando token ao arquivo .env..."
@if [ ! -f $(ENV_FILE) ]; then \
echo "O arquivo .env não existe. Criando..."; \
touch $(ENV_FILE); \
fi
@TOKEN=$$(openssl rand -base64 32); \
if grep -q "^APP_TOKEN=" $(ENV_FILE); then \
sed -i'' -e "s/^APP_TOKEN=.*/APP_TOKEN=\"$$TOKEN\"/" $(ENV_FILE); \
else \
sed -i'' -e '/^APP_HOST=/a\' -e "APP_TOKEN=\"$$TOKEN\"" $(ENV_FILE); \
fi
@echo "Token adicionado com sucesso ao arquivo .env ✅"
@echo "🚀 Ambiente configurado com sucesso! 🚀"