Ghost source-Theme in Docker DSGVO-konform machen

Ghost source-Theme in Docker DSGVO-konform machen

Ich habe vor einiger Zeit schon mal gezeigt, wie man das Ghost CMS DSGVO-konform hinbekommt (keine rechtliche Beratung, ich übernehme keine Verantwortung für Rechtskonformität! 😉). Da ich Ghost mittlerweile in Docker betreibe und sich das alles etwas anders gestaltet, wollte ich das Thema, passend zur Jahreszeit nochmal aufgreifen.

Hier ist der alte Beitrag:

Ghost CMS datenschutzkonform machen
Damit GhostCMS keinen Cookie Consent-Kram braucht kann man einige Einstellungen anpassen und die config.json ergänzen: Dazu musst du als erstes das Portal deaktivieren: Auch den Newsletter habe ich deaktiviert: Als letztes müssen wir noch jsDelivr raus bekommen. Dazu öffne die config.production.json und füge folgendes hinzu: “sodoSearch”: { “url”

Vorwort

Ich nutze das source-Theme in der i8n Variante:
https://github.com/SourceTheme-i18n/Source
Hier wird kein jQuery geladen. Sollte das bei deinem Theme der Fall sein sind leider Anpassungen im Theme selber notwendig. Das ist in Docker allerdings nicht ganz so einfach und wird hier nicht behandelt.

Analytics

Für Analytics habe ich mich für Plausible entschieden. Die Community Edition kann lokal in Docker gehostet werden, nutzt keine Cookies und ist sehr einfach einzubinden. Dazu habe ich auch gerade einen eigenen Artikel geschrieben:

Lokale Analytics ohne Cookies für deine Website (selbstgehostet)
Um die Besucher*innenzahlen meiner Website zu messen wollte ich ungern Google Analytics oder ähnliche Dienste nutzen. Diese würden wieder eine Menge an rechtlichen Verpflichtungen nach sich ziehen. Dazu würden Datenschutztexte zählen, die ich ständig aktuell halten müsste. Als dann Ghost 6.0 angekündigt wurde und lokale Analytics gleich mit,

CDN JS und CSS Dateien

Damit CSS und JS Dateien nicht von jsDelivr CDN abgerufen werden müssen, müssen wir diese lokal bereitstellen.
Das machen wir über die Docker Compose Datei und ein lokales Verzeichnis, welches wir in den Ghost Container bzw. den Theme-Ordner mounten.

Dazu erstellen wir das Verzeichnis, gehen rein, suchen aus unserem Quellcode alle Stellen, wo externe Dateien geladen werden und laden sie in das entsprechende Verzeichnis:

mkdir assets && cd asstets
wget https://cdn.jsdelivr.net/ghost/portal@~2.54/umd/portal.min.js
wget https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/sodo-search.min.js
wget https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/main.css

Eine große Hilfe dabei war mir der DSGVO-Checker (unbezahlte Werbung)

Online DSGVO Checker - Prüfen Sie Ihre Website auf Drittanbieter
Kostenloser DSGVO Checker für Ihre Website. Überprüfen Sie auf Drittanbieter-Anfragen und verbessern Sie Ihre Datenschutz-Compliance einfach online.

Das Verzeichnis mounten wir nun in das entsprechende Theme (passe die Pfade entsprechend an. $PWD ist relativ zu der docker-compose.yml zu verstehen):

    volumes:
      - ${PWD}/assets:/var/lib/ghost/content/themes/source-i18n/assets/external

Ich habe hier einen neuen Ordner "external" im Theme Ordner erstellt, da ich den Asset-Ordner nicht überschreiben wollte

Nun müssen wir die config.production.json anpassen und die Pfade entsprechend anpassen:

  "sodoSearch": {
    "url": "/assets/external/sodo-search-1.1.min.js",
    "styles": "/assets/external/sodo-search.css"
  },
  "portal": {
    "url": "/assets/external/portal-2.12.min.js"
  }

Nun werden alle Dateien von deinem lokalen Server genommen, ohne CDN!

Denke daran, dass Du diese Dateien ggf. updaten musst!

Wie auch beim vorherigen Post gilt: Dies ist keine rechtliche Beratung sondern nur ein Leitfaden. Ich übernehme keine Verantwortung für die rechtliche Konformität!

Lies mehr