Para facilitar a configuração desse projeto, você precisa ter o Docker instalado.
Esse é um ambiente desenvolvido em PHP 7.4
com o framework Laravel 8
.
nginx 80
mysql 3306
php 9000
-
Indique as variáveis de ambiente no arquivo
.env
. Veja na seção de MYSQL a baixo para mais informações. -
Compile a imagem com o seguinte comando:
docker-compose build app
- Quando a compilação estiver concluída, voce pode iniciar o ambiente com o comando:
docker-compose up -d
- Para consultar o status dos serviços use o comando:
docker-compose ps
- O ambiente está agora rodando, mas ainda precisamos de mais alguns comandos para concluir a funcionalidade da aplicação Laravel.
Você pode usar o comando
docker-compose exec
para executar comandos nos conteiners do docker, tal comols -l
para listar os arquivos da aplicação.
docker-compose exec app ls -l
- Execute o comando
composer install
para instalar as dependências da aplicação:
docker-compose exec app composer install
- Gere a chave unica da aplicação com o comando artisan do laravel.
docker-compose exec app php artisan key:generate
- Rode o comando
migrate
para criar toda a estrutura do banco de dados:
docker-compose exec app php artisan migrate
- Caso queira popular o banco com alguns dados predefinidos use o comando:
docker-compose exec app php artisan db:seed
-
A api agora deve estar disponível através da url
http://localhost
-
Caso queira pausar o ambiente Docker, rode:
docker-compose pause
- Você pode retomar o serviço com:
docker-compose unpause
- Para parar o ambiente criado no Docker e remover todos os containers, networks e volumes, rode:
docker-compose down
-
Esse projeto conta com uma documentação para a API gerada de forma automática.
-
Ela pode ser acessada através do link
http://localhost/docs
. -
A documentação foi gerada a partir do pacote
knuckleswtf/scribe
, sua documentação pode ser vista no linkhttps://scribe.knuckles.wtf/laravel/
; -
Para gerar novamente a documentação use o comando:
docker-compose exec app php artisan docs
Configure o arquivo .env
para receber os seguintes valores:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret