You will need composer, node and docker.
npm install npm run build cp .env.dist .env docker-compose build
docker-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.sql
docker 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 build
The cloud styles and JS are built using vite.js and therefore has a dev/watcher mode with hot/live reloading.
Run:
npm run dev
You will also need to symlink the image directory:
ln -s ../../assets/img/cloud public/img/cloud
Add 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 deploy
Letsencrypt 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.