feat(docker): add laravel sail configuration

- Added docker-compose.yml with PHP 8.4 container
- Configured app to run on port 8080 via APP_PORT
- Updated storage and bootstrap permissions for Docker
- Removed MySQL service to use SQLite database
هذا الالتزام موجود في:
2025-10-15 15:20:43 +03:00
الأصل 7d82f5ba39
التزام 7f633d9855
14 ملفات معدلة مع 32 إضافات و5 حذوفات

عرض الملف

@@ -2,7 +2,8 @@ APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_URL=http://localhost:8080
APP_PORT=8080
APP_LOCALE=ar
APP_FALLBACK_LOCALE=ar

0
bootstrap/cache/.gitignore مباع Normal file → Executable file
عرض الملف

26
docker-compose.yml Normal file
عرض الملف

@@ -0,0 +1,26 @@
services:
laravel.test:
build:
context: './vendor/laravel/sail/runtimes/8.4'
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: 'sail-8.4/app'
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
- '${APP_PORT:-80}:80'
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
IGNITION_LOCAL_SITES_PATH: '${PWD}'
volumes:
- '.:/var/www/html'
networks:
- sail
networks:
sail:
driver: bridge

عرض الملف

@@ -8,14 +8,14 @@ Schedule::command('currency:fetch --today')
->onFailure(function () {
// TODO: set the correct sender email
// TODO: set the correct recipient email
// \Illuminate\Support\Facades\Mail::raw(
// "Currency fetching failed!\n\nCheck the page: https://boqash.com/price-currency\nAnd review the logs for more details.",
// function (\Illuminate\Mail\Message $message) {
// $message
// ->from(config('mail.from.address'))
// ->to(config('mail.admin.address'))
// ->from(config('mail.from.address'))
// ->to(config('mail.admin.address'))
// ->subject('Currency Fetching Failed!');
// }
// );
});
});

0
storage/app/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/app/private/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/app/public/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/cache/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/cache/data/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/sessions/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/testing/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/framework/views/.gitignore مباع Normal file → Executable file
عرض الملف

0
storage/logs/.gitignore مباع Normal file → Executable file
عرض الملف