Soverin/freedom jekyll sites op domeinen zonder webhosting

2023/01/08 (updated: 2023/01/11)

Als steunlid van het eerste uur heb ik een basisabonnement bij Freedom Internet. Daar kreeg ik een domeinnaam bij, voor provider-onafhankelijke emailadressen - hulde! Bij de domeinnaam zit geen volledige serverhosting waarmee je applicaties kan draaien (php, cgi, ruby), maar wel kan je een statische website er op zetten. Het is behoorlijk compatible met jekyll, al is het onder water iets van soverin zelf.

Het was een leuk projectje voor de kerstvakantie om dit nu eens verder uit te zoeken. Hier mijn aantekeningen voor wie er wat aan heeft.

(update 11 januari, opmerkingen verwerkt van PtrO op het forum)

Freedom community forum

Vragen over deze jekyll-hosting komen af en toe langs op het gebruikersforum van Freedom. Natuurlijk vooral als er iets mis gaat, dat zie je aan de topictitels - maar deze draadjes gaan vervolgens ook dieper de inhoud in. In het bijzonder gebruiker PtrO heeft hier heel veel nuttig gereverse-engineered:

basis

De Soverin documentatie is heel beknopt (je hebt er niet veel aan : ) maar het is wel het beginpunt:

De website wordt gegenereerd vanuit de bestanden in de gui. Tip: zet de variabele site.time in de footer. Het lijkt erop dat dat meestal binnen seconden na een save in de editor gebeurt, maar het kan tot vijf minuten duren. Blijkbaar als het druk is. Interessant: ook als je niets saved lijkt de site sowieso elke paar minuten te worden geupdate! Misschien is dat wel on-demand (dwz getriggered door het opvragen) maar dat is net zo lastig uit te vinden als of het lampje in de koelkast brandt als de deur dicht is…

Soverin site-setup is grotendeels jekyll-compatible, vergelijkbaar met de jekyll-hosting op github. Waarschijnlijk is het een jekyll-installatie die geschikt gemaakt is voor multi-users.

Er is ondersteuning voor:

beperkingen

Wat niet beschikbaar is:

CSP

Wat echt vervelend is (al is het wel begrijpelijk vanuit security) is dat er een hele strenge Content Security Policy (CSP) draait. Dat betekent dat browsers errors geven op resources die je vanaf een ander domein inlaadt. Voor statische resources valt het nog wel mee, plaatjes van elders geven warnings op de console maar laden wel. Maar externe API's aanroepen in javascript geeft snel een block. Het duurde een tijd voor ik dit doorhad. Ik snap de redenen wel - het gevaar van cross-platform scripting aanvallen is groot - maar een dynamische flickr-galerie bijvoorbeeld draait niet out of the box (en ik heb de flickr API nog niet werkend gekregen), net als statcounter stats. Het is jammer dat de soverin CSP geen whitelist gebruikt.

tips

config

mijn.freedom.nl/sites - Domeinen > domein > Website

Er zijn 3 standaard templates:

Configuratie van een site gaat via een configbestand in de root. Dat kan verschillende namen hebben, op soverin werken in elk geval deze:

Ik heb niet getest wat er gebeurt als meerdere configbestanden naast elkaar bestaan; ik zou zeggen, voorkom problemen en kies het bestand dat meekomt met je template.

meerdere jekyll-sites

Je kan meerdere jekyll-sites tegelijk draaien. Dat kan in elk geval met aparte hostnames, met een subdomein voor elke site. Volgens de soverin-docs zou het ook kunnen met baseurls op dezelfde hostname, maar dat heb ik niet werkend gekregen.

Subdomein voorbeeld:

Na plm 5 minuten zou de site up moeten zijn onder https.