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 install
docker compose exec php composer app:db:update
docker-compose exec -T db mysql -uroot phpschool -proot < phpschool.sql
docker compose exec php composer app:gen:blog
Then 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:cc
You 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.