anúncios

segunda-feira, 8 de março de 2021

Configurando o Jetstream Laravel no Docker

O que é Jetstram Laravel?

O Jetstream fornece o ponto de partida para seu próximo projeto incluindo login, registro, verificação de e-mail, autenticação de dois fatores, gerenciamento de sessão, suporte de API via Laravel Sanctum e gerenciamento de usuários

O objetivo deste post é explicar os procedimentos de configuração do Jetstream a partir do ambiente PHP 8 com Apache e SGBD MySQL no Docker

Após criar o ambiente PHP 8 com Apache e SGBD MySQL no Docker , segue os procedimentos abaixo:

Primeiro acessar o diretório do ambiente e subir o ambiente PHP 8 com Apache e SGBD MySQL, conforme segue:

$ docker-compose up -d

Se utilizou o mesmo ambiente PHP 8 com Apache e SGBD MySQL no Docker , tem o Adminer, que é uma ferramenta web de administração de diversos SGBDs, nesse caso o SGBD MySQL.

Acessar o Adminer no browser http://localhost:8080 e crie o banco de dados com o nome que preferir

Após criar o banco de dados, acessar o container php8-apache para instalar o Laravel

$ docker exec -it php8-apache bash

Instalar o Laravel via composer, definir o nome como app, mas geralmente é colocado o nome do projeto

$ composer create-project --prefer-dist laravel/laravel app

Após concluir a instalação do Laravel, saia do container php8-apache, digite exit

No diretório do ambiente PHP 8 que configurou, dentro deste diretório deve ter um diretório src, que é o volume mapeado entre HOST e CONTAINER.

$ cd ambiente-php8-apache-mysql-docker/src

Aqui deve ter o diretório definido na instalação do Laravel, nesse caso app, mas antes é necessário alterar o owner do diretório para o seu usuário.

$ sudo chown -R ambiente-php8-apache-mysql-docker/ seu-usuario:seu-usuario

Renomear o .env.example para .env no editor de sua preferência

DB_HOST=db #nome do serviço container MySQL
D_PORT=3306 # porta default do MySQL
DB_DATABASE=nome-banco-de-dados #mesmo nome do banco de dados criado na ferramenta Adminer
DB_USERNAME=root #nome de usuário do banco de dados definido no docker-compose do ambiente PHP 8
DB_PASSWORD=secret #password do usuário do banco de dados definido no docker-compsoe do ambiente PHP 8

Acessar o container php8-apache novamente

$ docker exec -it php8-apache bash

Dentro do container, acessar o diretório app e execute os procedimentos

$ cd app

Gerar a chave para o projeto via artisan do Laravel

php artisan key:generate

Adicionar a biblioteca Jetstream no projeto com Laravel

composer require laravel/jetstream

Adicionar a biblioteca Livewire para complementar o frontend no projeto Laravel com Jetstream

php artisan jetstream:install livewire

Adicione o times do Jetstream com Livewire, que é como organização de usuários.

php artisan jetstream:install livewire --teams

Execute as migrations para criar as tabelas no banco de dados criado anteriormente pela ferramenta Adminer

php artisan migrate

Instalação do Node.js e NPM via NVM (gerenciador de versões do Node.js)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash

source ~/.bashrc && nvm install v14.15.5

npm install && npm run dev

chown -R www-data:www-data storage

Saia do container php8-apache, digite exit

No browser, acesse http://app.intranet:8000 crie um novo usuário no link "register", após criar o usuário irá autenticar e redirecionar no dashboard automaticamente.

Referências


Laravel 8 Jetstream no Docker

Feito!

Nenhum comentário:

Postar um comentário