Soverin/freedom jekyll sites op domeinen zonder webhosting

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

UPDATE: Soverin/Freedom is per 1 januari 2024 gestopt met het hosten van jekyll-sites op domeinen. Deze post is dus helaas niet meer relevant.

Daar is veel over te zeggen, en zowel het besluit als de manier waarop freedom dit communniceerde verdient geen schoonheidsprijs en roept vragen op over freedom. Zie community.freedom.nl/t/de-websitefunctie-op-mijnfreedom-stopt-per-1-januari-2024/4186 op het community-forum.

Ik host deze site (www.heesk.nl) nog altijd bij freedom, maar ik wil geen 15/mnd betalen voor volledige dynamische webhosting waarvan ik vrijwel niets zal gebruiken. Alternatieven zijn er bijna niet. Voor nu heb ik de jekyll-installatie verhuisd naar github. Github ondersteuning voor Jekyll is gelukkig heel standaard, een kleine aanpassing in yaml config was genoeg om het aan de praat te krijgen. Github doet iets slims met CNAME’s voor het hosten van pagina’s op een github.io subdomein. Er zitten wel haken en ogen aan. Zo is github eigendom van microsoft en zitten er in de voorwaarden wat zaken waar je vraagtekens bij kunt zetten. Daarover later misschien meer, en wie weet vind ik uitendelijk een betere oplossing. Voor nu werkt het, en is de site niet uit de lucht gegaan op 1 januari 2024 (vandaag :) …

Oorspronlijke post:

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 23: opmerkingen verwerkt van PtrO op het forum)

(update 1 januari 24: einde jekyll-dienst van freedom/soverin)

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.