You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2. Faça uma cópia do `docker-compose.yaml.example` para um novo arquivo com nome de `docker-compose.yaml`, abra em um editor de sua preferência e faça a troca de toda ocorrência de `sandbox` para algo que referêncie melhor o projeto, como por exemplo, `l5vueka`.
> As variáveis definidas no arquivo `docker-compose.yaml` para configuração dos containers, como por exemplo dos serviços de banco de dados, como `mysql` e `redis`, devem ser, obrigatoriamente iguais as que serão definidas no arquivo `.env`.
121
+
122
+
3. Instale as dependências do `Laravel`, e crie o arquivo `.env`, com os seguintes comandos:
123
+
124
+
```
125
+
docker-compose create
126
+
docker-compose run app composer install
127
+
docker-compose run app composer run-script post-root-package-install
128
+
docker-compose run app composer run-script post-create-project-cmd
129
+
```
130
+
131
+
> Um exemplo de como deve-se configurar as variáveis do arquivo `.env`, segue logo abaixo:
> Note que utilizei os endereços de IP dos containers, conforme estão configurados no arquivo `docker-compose.yaml`. Existe ainda a possibilidade de utilizar os nomes dos serviços, descritos no arquivo `docker-compose.yaml` como `hostname`, existem diversos exemplos de configuração nestes moldes na internet.
158
+
159
+
4. Atualize o `npm` e instale todas as dependências do `node` e com os comandos abaixo:
160
+
161
+
```
162
+
docker-compose run dev npm install -g npm gulp-cli
163
+
docker-compose run dev yarn
164
+
```
165
+
166
+
5. Prepare a base de dados, criando e populando as tabelas com dados fictícios, com os seguintes comandos:
167
+
168
+
```
169
+
docker-compose run app php artisan migrate
170
+
docker-compose run app php artisan db:seed
171
+
```
172
+
173
+
6. Inicialize os containers.
174
+
175
+
```
176
+
docker-compose up
177
+
```
178
+
179
+
> Provavelmente será retornado um erro na tela, ao se tentar inicializar um dos containers. Mais precisamente o container `dev`, que é reponsável por todo o suporte ao `nodejs`. O que acontece especificamente é que este container executa o seguinte comando ao ser startado `gulp watch`.
180
+
181
+
> O motivo do erro é que existe um limite no sistema para quantos arquivos podem ser vistos por um usuário, usando o comando abaixo em uma janela de terminal, podemos simplesmente aumentar o limite, e o erro simplesmente sumirá.
182
+
183
+
```
184
+
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
185
+
```
186
+
187
+
## Observações
188
+
Devido ao projeto estar rodando em `containers` a funcionalidade do BrowserSync de abrir a página do projeto no browser automaticamente quando executamos o comando `gulp watch`, está desativada. Então faz-se necessário que abramos a janela manualmente.
189
+
190
+
> O comando `gulp watch` já está sendo executado automaticamente ao inicializar os containers, logo não é possível roda-lo novamente em linha de comando, pois ocorrerá um erro devido as portas já estarem sendo utilizadas.
191
+
192
+
Caso necessite de rodar o `gulp` via linha de comando, enquanto o `watch` estiver rodando, basta que em uma outra janela do terminal, execute o seguinte comando:
193
+
194
+
```
195
+
docker-compose exec dev gulp
196
+
```
197
+
198
+
> Desta vez, ao invés de utilizar o comando docker-compose passando o parametro `run`, devemos utilizar o parâmetro `exec`, de modo que possamos executar tais comando no container que já encontra-se em execução.
199
+
200
+
## Sugestão
201
+
Caso necessite testar chamadas a API, sugiro que utilize o `Postman` para testar suas chamadas. [https://www.getpostman.com/](https://www.getpostman.com/).
0 commit comments