The dockerfile configuration was mostly taken from https://github.com/acadea/laravel-sail-nginx-php-fpm/tree/main and updated to php 8.2.
- Make sure you have Docker and Docker Compose installed.
- Make sure you copy a .env.example file to .env and fill in the values.
cd api
sail up -d
sail npm run dev
sail artisan migrate
# treat sail as you would any command with php artisan, replacing php with sail
cd api
docker compose -f docker-compose.prod.yml build
docker compose -f docker-compose.prod.yml up
# to run migrations
docker-compose exec php-fpm php /var/www/laravel/current/artisan migrate
The application will be available at http://localhost:80 The application should be hot reloaded when you make changes to the code.
- Get tests working.
- Get docker compose to work with vite.
- Get docker compose to work with mailhog.
- Get docker compose to work with nginx.
- Get a local database working.
- Build out questionnaire.
Service | Port | Description |
---|---|---|
Laravel | 80 | Main Application |
Vite | 5173 | Frontend Development Server |
Mailpit | 1025 | Email Testing Web Interface |
sail artisan queue:work
sail artisan pail
sail artisan db:seed # you need this for the questionnaire to work
sail artisan test
sail artisan queue:work redis --queue=scout
Terraform is used to automatically create a Kubernetes cluster on Digital Ocean.
- Use https://github.com/vlaurin/action-ghcr-prune/tree/v0.5.0/ to prune old images from github container registry.