{ "name": "Thats-Me (Dev Container)", // 1. DIES IST DER WICHTIGSTE TEIL: // Wir verwenden Docker Compose für alle Services "dockerComposeFile": [ "../docker-compose.yml" ], "service": "laravel.test", // 3. WIR DEFINIEREN DEN ARBEITSBEREICH: // Wir mounten das gesamte Projekt, damit Sie Backend UND Frontend sehen "workspaceFolder": "/workspace", // 4. WIR LEGEN DEN BENUTZER FEST: // Laravel Sail führt Befehle standardmäßig als 'sail'-Benutzer aus, um Berechtigungsprobleme zu vermeiden. "remoteUser": "sail", // 5. ZUSÄTZLICHE ENTWICKLER-TOOLS (FEATURES): // Features werden über postCreateCommand installiert um Kompatibilitätsprobleme zu vermeiden "features": {}, // 6. BEFEHLE NACH DEM ERSTELLEN: // Installiert nur die Tools die ohne Root-Rechte funktionieren //"postCreateCommand": "composer install --no-interaction --prefer-dist --optimize-autoloader", // 7. EDITOR-ANPASSUNGEN (Optional, aber sehr empfohlen): "customizations": { "vscode": { "extensions": [ "bmewburn.vscode-intelephense-client", "onecentlin.laravel-blade", "shufo.vscode-blade-formatter", "bradlc.vscode-tailwindcss" ] } }, // 8. ZU STARTENDE DIENSTE: // Legt fest, welche Dienste aus der docker-compose.yml gestartet werden sollen. "runServices": [ "laravel.test", "quasar.app", "mysql", "redis", "mailpit" ], // 9. ZUSÄTZLICHE KONFIGURATION: // Umgebungsvariablen für den DevContainer "containerEnv": { "WWWUSER": "501", "WWWGROUP": "20", "LARAVEL_SAIL": "1" }, // 9b. MOUNTS: // Mountet das gesamte Projekt (Root) nach /workspace, damit Sie Backend UND Frontend sehen "mounts": [ "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached" ], // 10. FORWARD PORTS: // Ports die automatisch weitergeleitet werden sollen (Container-Ports) "forwardPorts": [ 80, 5173, 3306, 6379, 1025, 8025, 9000 ], "portsAttributes": { "80": { "label": "Laravel App (HTTP)", "onAutoForward": "notify" }, "5173": { "label": "Vite Dev Server", "onAutoForward": "notify" }, "3306": { "label": "MySQL", "onAutoForward": "silent" }, "6379": { "label": "Redis", "onAutoForward": "silent" }, "8025": { "label": "Mailpit Dashboard", "onAutoForward": "notify" }, "1025": { "label": "Mailpit SMTP", "onAutoForward": "silent" }, "9000": { "label": "Quasar App", "onAutoForward": "notify" } } }