Publii op Google Cloud

Een repost van mijn beschrijving van eerdere experimenten met een bijzonder, simpel CMS

Publii op Google Cloud

Bij een nieuw experiment hoort een nieuw CMS (Content Management System). Ik heb gekozen voor Publii, een "lokaal" CMS dat statische pagina's genereert en publiceert als website. En die website wordt dan (uiteraard) gehost op Google Cloud Platform. In een Cloud Storage bucket, om precies te zijn.

Het was een klein beetje pielen, omdat in deze heldere instructie nog geen rekening werd gehouden met uniform bucket access... En dat is dus geen goed idee met Publii, want deze tool probeert juist de rechten allemaal per bestand in te stellen.

Publii op Google Cloud

Verder is het een kwestie van een load balancer inregelen en het domein naar het nieuwe IP-adres wijzen. Even wachten op de verder automatisch beheerde certificaten en vervolgens draait de site netjes op https://janx.nl/ zonder dat we ons óóit nog druk maken over de performance en bereikbaarheid. Zelfs als die miljoenen bezoekers straks langskomen.

Tot slot is het nog een goed idee om de backend-bestanden (inclusief de sqlight-database) op te slaan in een lokale map die met de online opslag (in Google Drive) gesynchroniseerd wordt. Zeker als je wilt samenwerken met Publii.

Samenwerken met Publii

Als je met verschillende mensen*, vanaf meerdere apparaten een website met Publii wilt beheren, dan raadt de Publii-documentatie je aan om dit met Dropbox te doen. Maar het kan net zo goed (nee, veel beter ;-) met Google Drive:

Samenwerken in Publii via Google Drive

Installeer Google Drive for Desktop. (Voorheen heetten de Drive-tools of Backup & Sync of Drive Filestream, en maakte het uit of je een zakelijk Google-account gebruikte.)

  1. Pro tip: maak voor Publii een speciale Shared Drive aan, die je netjes en beheersbaar deelt met de andere beheerders van de website(s).
  2. Kies na instellen van je nieuwe website in Publii voor de Files Location en de Sites Location (en eventueel de Backup Location) nieuwe submappen van de gedeelde locatie onder je Google Drive. Geef Publii en Google daarna even de tijd om alle bestanden online bij te werken. En joh, maak anders ook even een backup! :-)
  3. Kies bij het instellen van de app op een ander apparaat meteen voor dezelfde submappen in de gedeelde Drive, al voordat je een nieuwe site aanmaakt. Herstart de app hierna, zodat alle gegevens vanuit de online gedeelde mappen worden ingelezen, in plaats van overschreven. Gaat dit de eerste keer mis, dan had je gelukkig nog een backup. Toch?
  4. Zorg dat op je nieuwe apparaat ook een sleutel voor de server-instelling beschikbaar is, want je wilt ook vanaf daar naar Cloud Storage publiceren. (Zie hierboven.) Het is netjes om dit voor elk apparaat met een aparte sleutel te doen, en het aller netste om iedere gebruiker een eigen service-account te geven. Maar je zou de sleutel natuurlijk in de gedeelde locatie kunnen plaatsen. 

* = Het is sterk af te raden om Publii gelijktijdig vanaf meerdere apparaten te gebruiken. Als je werkelijk meerdere schrijvers en redacteurs online wilt laten samenwerken dan kun je beter een meer geavanceerd CMS kiezen. En ja, dat mag wat kosten. Maar het hoeft niet.