Blog

<Snippet />

MailHog einrichten

Mit MailHog werden alle E-Mails abgefangen, die von Websites verschickt werden, die in der lokalen Entwicklungsumgebung genutzt werden.

brew install mailhog
brew services start mailhog
echo 'sendmail_path = "/usr/local/bin/mailhog sendmail test@example.org"' > /usr/local/etc/php/7.4/conf.d/mailhog.ini
valet restart

Web-Oberfläche von MailHog: http://localhost:8025

<Snippet />

Laravel: Routes besser ausrichten


// Services provider
public function boot()
{
  Route::macro('build', function() {
    return $this;
  });
}

// before - routes/web.php
Route::prefix('/hello')
  -> get('/world', function() {
    return 'hello world';
  })
  ->name('hello.world');


// after
Route::build()
  ->prefix('/hello')
  ->name('hello.world')
  ->get('/world', function() {
    return 'hello world';
  });

<Snippet />

DSGVO Everywhere - Links zur neuen Datenschutz-Grundverordnung

<Snippet />

Kirby: Laravel Mix Helper

Laravel Mix bietet auch Cache Busting an. Der Hash der Dateien wird in die mix-manifest.json geschrieben. Das Plugin liest diese Information aus.

Das Plugin lässt sich auch mit den css() und js() Funktionen von Kirby verbinden. Bei mir sieht die Einbindung wie folgt aus:

 <?= css('assets' . mix('/css/styles.css')) ?>
<Snippet />

Docker: Größe von Log-Dateien limitieren

Docker nimmt mit den Containern und Images gut Speicherplatz in Anspruch. Aber auch die Logs der Container können sehr groß werden. Wenn du mal wissen willst, wie viel Speicher die Logs benötigen, kannst du dies mit diesem Befehl herausfinden:

docker ps -qa | xargs docker inspect --format='{{.LogPath}}' | xargs ls -hl

Wenn der aktuelle Benutzer nicht die ausreichenden Berechtigungen hat, ist eventuell ein sudo vor dem ls notwendig.

Da ich nur die aktuellen Logs brauche, müssen die nicht sehr lange aufbewahrt werden. In die Datei /etc/docker/daemon.json muss folgendes ergänzt werden:

{
 "log-driver": "json-file",
 "log-opts": {
   "max-size": "10m",
   "max-file": "3"
  }
}

Die Container müssen alle neugestartet werden, damit die Einstellung übernommen wird.

Update

Alternativ zum json-file Log-Driver kann der local Log-Driver genutzt werden, der standardmäßig Log-Rotation nutzt. Diese wird auch von Docker empfohlen.

{
  "log-driver": "local"
}