You will need composer, node and docker.
npm install
npm run build
cp .env.dist .env
docker-compose builddocker-compose up -d
docker compose exec php composer installdocker compose exec php composer app:db:updatedocker-compose exec -T db mysql -uroot phpschool -proot < phpschool.sqldocker compose exec php composer app:gen:blogThen navigate to http://localhost !
This needs to be done for the main website (non cloud) to run in development mode.
npm run buildThe cloud styles and JS are built using vite.js and therefore has a dev/watcher mode with hot/live reloading.
Run:
npm run devYou will also need to symlink the image directory:
ln -s ../../assets/img/cloud public/img/cloudAdd 127.0.0.1 www.phpschool.local to /etc/hosts
Create a GitHub oauth App:
Application Name: PHP School Local Homepage: http://www.phpschool.local Authorization Callback URL: http://www.phpschool.local/student-login:
Take the client secret and client ID and place them in your .env file under the keys: GITHUB_CLIENT_ID & GITHUB_CLIENT_SECRET.
docker-compose exec redis redis-cli keys '*'docker-compose exec php composer app:ccYou will need capistrano installed and SSH access to the production server.
cap production deployLetsencrypt certs should be setup and located in /etc/letsencrypt
Make sure .env file exists in shared folder. You can use env.dist as an example.