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.
Clonar o projeto na máquina
git clone https://github.com/devpt-org/site.gitEntrar 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-reqsCopiar o ficheiro .env.example para .env.
cp .env.example .envExecutar 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 upNoutra 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 devRecebo 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=8080Ao 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.