Laravel Sail on Windows

Laravel resmi dokümandan kurulum takip edilir.

WSL2 sistemi Windows üzerinde kurulmuş olmalı.

Özet:

Yeni bir proje oluşturalım:

curl -s https://laravel.build/{example-app} | bash

example-app kısmı hem proje adı hem de dizin adı olarak ayarlanıyor.
Ben bu proje için laravel-sail adını tercih ettim.

İndirme ve kurulum tamamlandıktan sonra:

cd laravel-sail

./vendor/bin/sail up 

İndirme ve kurulum uzun sürebilir.

Kurulacak servisleri belirleme

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Docker container içine girmek için:

docker ps
docker exec -it laravel-sail-laravel.test-1 bash
vendor/bin/sail root-shell

container içine girmeden komut çalıştırmak için ise

vendor/bin/sail {komut} => vendor/bin/sail artisan

Breeze ve Vue yüklemesi

composer require laravel/breeze --dev

php artisan breeze:install vue

php artisan migrate
npm install
npm run dev

Inertiajs Yüklemesi

Server Side:

composer require inertiajs/inertia-laravel

Client Side:

npm install @inertiajs/inertia @inertiajs/inertia-vue3

CORS hatası oluştuğu için vite.config.js dosyası en son aşağıdaki gibi “server” keyi eklenmiş olmalı.

export default defineConfig({
    server: {
        hmr: {
            host: 'localhost',
        },
    },
    plugins: [
        laravel({
            input: 'resources/js/app.js',
            refresh: true,
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
});
 npm run dev

Artık hot reload kullanılabilir.

Dosya ve dizin izinlerini ayarlamayı unutma.

Yayına almadan önce:

npm run build

komutu çalıştırılmalı.

Ortama phpmyadmin eklemek için docker-compose.yml dosyasına

services:
    ...
    phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
        - mysql:mysql
    ports:
        - 8080:80
    environment:
        MYSQL_USERNAME: "${DB_USERNAME}"
        MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
        PMA_HOST: mysql
    networks:
        - sail
    depends_on:
        - mysql
    ...

eklemesi yapılmalı.