/site

devPT Site

Primary LanguagePHP

devPT

Canal Youtube

Requisitos para desenvolvimento

Este projeto está otimizado para trabalhar em Docker - suportado por Linux, MacOS e Windows (em WSL2). Funciona de outras formas, mas esta é a suportada pelo desenvolvimento neste repositório.

Avançado: Como o Docker corre um pouco mais lento em MacOS e WSL2, uma forma de poupar algum tempo é usar o npm no sistema, e não dentro do Docker container. Assim, o npm install e npm run dev podem ser executados fora do container.

Como correr o projeto em ambiente local

Clonar o projeto na máquina

git clone https://github.com/devpt-org/site.git

Entrar na pasta do projeto e correr este comando. Via Docker, estamos a ir buscar as dependências do Composer, para termos acesso ao Laravel Sail.

cd site
docker run --rm \
  -u "$(id -u):$(id -g)" \
  -v "$(pwd):/app" -w /app \
  composer:2 \
  composer install --ignore-platform-reqs

Copiar o ficheiro .env.example para .env.

cp .env.example .env

Executar o Sail "up" para levantar os serviços necessários. Pode demorar alguns minutos, pois vai construir imagens se necessário. Ficará visível o output dos serviços.

./vendor/bin/sail up

Noutra sessão de terminal, corre este comando e ficas dentro de uma sessão no container.

./vendor/bin/sail bash

Executar estes comandos apenas a primeira vez:

php artisan key:generate
php artisan storage:link

Executar estes comandos cada vez que faças um pull, e haja alterações no package-lock.json (npm) ou composer.lock (composer).

composer install
npm install

Para abrir o projeto, no navegador abrir o endereço http://localhost ou http://localhost:APP_PORT se alteraste a APP_PORT no .env.

Para realizar a compilação em real-time (re-compila a cada alteração) dos recursos de JavaScript e CSS, executar:

npm run dev

FAQs

Recebo um erro que a porta está em uso.

Para outros sites que estejam em execução na porta 80, adiciona a propriedade APP_PORT no ficheiro .env para indicar que porta livre que deve ser usada pelo webserver do Sail. No exemplo mudamos para 8080.

APP_PORT=8080

Ao tentar executar o sail recebo um erro que diz que o docker não está em execução.

Certifica-te que tens o Docker a correr antes de executar o Sail.