Appearance
Setup & Installation
Voraussetzungen
- DDEV v1.25+
- Docker Desktop oder OrbStack (empfohlen fuer macOS)
- bun (wird automatisch in DDEV-Containern installiert)
- Git
Erstinstallation (Ein-Klick)
bash
git clone https://git.matev.eu/matev/matev-2026.git matev_2026
cd matev_2026
./setup.shEs ist ein Monorepo (keine Submodules) — ein clone holt alle Services. Das setup.sh Script erledigt automatisch:
- Hostnames in
/etc/hostseintragen (benoetigt sudo) - Alle DDEV-Services starten (erster Start dauert ca. 5-10 Min)
- Admin-Datenbank migrieren und seeden
Manuelle Installation (falls setup.sh nicht gewuenscht)
bash
git clone https://git.matev.eu/matev/matev-2026.git matev_2026
cd matev_2026
sudo ./setup-hosts.sh
./ddev-all.sh start
cd admin && ddev exec "php artisan key:generate --force"
cd admin && ddev exec "php artisan migrate --seed"5. Standard-Zugangsdaten (Entwicklung)
Alle lokalen Services werden mit denselben Zugangsdaten geseeded:
| Service | URL | Login | Passwort |
|---|---|---|---|
| Filament Admin | https://admin.matev.ddev.site | admin@matev.eu | admin |
| Kirby Panel | https://cms.matev.ddev.site/panel | Setup beim ersten Aufruf | - |
| B2B-Portal (Inertia/Vue) | https://b2b.matev.ddev.site | dealer@matev.eu | dealer |
| Taiga | https://project.matev.ddev.site:33015 | Superuser via docker exec ddev-matev-project-taiga-back python manage.py createsuperuser | - |
| Penpot | https://design.matev.ddev.site:33003 | Registrierung beim ersten Aufruf | - |
| Matomo | https://tracking.matev.ddev.site:33013 | Setup-Wizard beim ersten Aufruf | - |
| Woodpecker CI (server only) | https://ci.matev.eu | via Forgejo OAuth2 | - |
WARNING
Diese Zugangsdaten sind nur fuer die lokale Entwicklung. In Staging/Production muessen sichere Passwoerter gesetzt werden.
Taeglich arbeiten
Alle Services starten/stoppen
bash
# Starten
./ddev-all.sh start
# Status pruefen
./ddev-all.sh status
# Stoppen
./ddev-all.sh stop
# Neustarten
./ddev-all.sh restartEinzelne Services
bash
# Nur den CMS-Service starten
cd cms && ddev start
# Logs ansehen
cd admin && ddev logs -f
# In den Container wechseln
cd admin && ddev sshAdmin-Service (Laravel)
bash
cd admin
# Migrationen ausfuehren
ddev exec "php artisan migrate"
# Cache leeren
ddev exec "php artisan cache:clear"
ddev exec "php artisan config:clear"
# Neue Filament-Resource erstellen
ddev exec "php artisan make:filament-resource Product"
# Composer-Pakete installieren
ddev exec "composer install"CMS (Kirby) / Staging-Frontend (Nuxt) / B2B (Inertia/Vue)
bash
# Kirby
cd cms && ddev exec "composer install"
# Nuxt-Staging (Bun, läuft direkt ohne DDEV)
cd ../staging && bun install && bun run dev
# B2B (Laravel + Inertia/Vue in DDEV)
cd ../b2b && ddev start && ddev exec "composer install" && ddev exec "bun install" && ddev exec "php artisan migrate --seed"Qualitaetssicherung
Tests (Pest)
bash
cd admin
# Alle Tests ausfuehren
ddev exec "composer test"
# Einzelnen Test ausfuehren
ddev exec "./vendor/bin/pest --filter=ExampleTest"
# Mit Coverage
ddev exec "./vendor/bin/pest --coverage"Code-Style (Pint)
bash
cd admin
# Code automatisch formatieren
ddev exec "composer lint"
# Nur pruefen (ohne Aenderungen)
ddev exec "composer lint:check"Statische Analyse (PHPStan)
bash
cd admin
# Analyse ausfuehren (Level 6)
ddev exec "composer analyse"Pflege & Wartung
Dependencies aktualisieren
bash
# Admin + B2B (PHP)
cd admin && ddev exec "composer update"
cd b2b && ddev exec "composer update"
# CMS (PHP via Kirby)
cd cms && ddev exec "composer update"
# Staging (Bun)
cd staging && bun updateDatenbank
bash
cd admin
# Backup erstellen
ddev export-db --file=backup.sql.gz
# Backup einspielen
ddev import-db --file=backup.sql.gz
# Frische Migration (Achtung: loescht alle Daten)
ddev exec "php artisan migrate:fresh --seed"DDEV aktualisieren
bash
# DDEV selbst aktualisieren
brew upgrade ddev
# Container-Images aktualisieren
./ddev-all.sh stop
./ddev-all.sh startTroubleshooting
bash
# DDEV-Router neustarten
ddev poweroff && ddev start
# Einen Service komplett zuruecksetzen
cd admin && ddev delete -O && ddev start
# Docker-Cache leeren (wenn Images veraltet sind)
docker system prune -fUmgebungsvariablen
Admin (.env)
| Variable | Beschreibung | Dev-Wert |
|---|---|---|
APP_URL | Admin-URL | https://admin.matev.ddev.site |
APP_ENV | Umgebung | local |
DB_CONNECTION | Datenbank-Typ | mariadb (via DDEV) |
SANCTUM_STATEFUL_DOMAINS | Erlaubte Frontend-Domains | staging.matev.ddev.site,b2b.matev.ddev.site |
SESSION_DOMAIN | Cookie-Domain | .matev.ddev.site |
Staging (Nuxt Runtime Config)
| Variable | Beschreibung | Dev-Wert |
|---|---|---|
NUXT_PUBLIC_API_BASE | REST-Endpunkt (Filament) | https://admin.matev.ddev.site/api/v1 |
KIRBY_URL | Kirby-KQL-Basis (nuxt-kql) | https://matev-cms.ddev.site:33001 |
KIRBY_API_USERNAME / KIRBY_API_PASSWORD | Basic-Auth für KQL (Editor/Admin, damit Drafts sichtbar) | — |
NUXT_PUBLIC_SITE_URL | Eigene URL | http://localhost:3000 |