O víkendu jsem migroval tenhle blog z platformy Vuepress na blogovací nástroj Ghost. Trvalo to asi tři hodiny a rád bych se podělil o své zážitky i důvody, proč jsem tak udělal.

Znáte blogovací platformu Medium.com? To je pro mě počin, který možnosti blogování posunul úplně na odlišnou úroveň. Ale moje fascinace ochladla, když Medium zrušil možnost používat vlastní doménu. Bylo to, jako když se s vámi někdo rozejde. Můj jiný blog, mozekjinak.cz tam ještě je a úplně to nechci s Medium vzdávat. Pokud si zvyknete na lepší standard, máte problém se spokojit s nějakým nižším.

Naneštěstí existuje publikační platforma Ghost. Ta pro mě funguje podobně, jako Medium, ale navíc ji mohou nechat běžet na vlastním serveru. Nebo tedy využít i hostované řešení, ale platit 29 dolarů měsíčně se mi úplně nechtělo.

Původní infrastruktura

Na web jsem používal statický generátor Vuepress od autora Vue.js, Evana You. Vuepress je zajímavý v tom, že stránky píšete v markdownu a při uložení souboru se změny okamžitě propíší (hot reload). Nechybí zde ani jedna ze silných vlastností, a to je přímá podpora .vue komponent. Takže i když píšete stránky v obyčejném markdownu, na konci navíc Vuepress ještě zkompiluje komponenty.

Web jsem hostoval na platformě Surge. Jednoduchý NPM balíček pomůže vystavit statický web na doméně třetího řádku, tedy domena.surge.sh, ale také na vlastní doméně. Za poplatek můžete využívat i SSL certifikát, což by dnes už měl být standard.

Pokud chcete ušetřit, tak kromě starého známého Let's Encrypt můžete certifikát zdarma získat i se službou Cloudflare. Ta nedávno spustila i vlastní VPNku, Warp. Cloudflare filtruje internetový provoz a dovede web například chránit před DDos útoky nebo kešovat některé zdroje na jednom ze svých 175 data center po celém světě. Tím se taky vysvětluje, proč spuštění VPNky bylo vlastně nevyhnutelné.

Doménu mám registrovanou u GoDaddy. Tam mi DNSka směřují na Cloudflare. A z Cloudflare zase traffic směřuje přímo na Surge. Na první pohled se to může jevit složitý, ale ušetřené náklady jsou náklady, za které můžete investovat někde jinde. I když pojem "investice" v řádu několika stovek měsíčně není úplně lukrativní záležitost.

Současná infrastruktura

Abyste mohli rozjet Ghost, potřebujete nějaký server. Využil jsem virtuálního privátního serveru na DigitalOcean. Naklikal jsem si jeden za 5 dolarů na měsíc. Na DigitalOcean si můžete v sekci Marketplace vybrat image s instalací Ghostu na Ubuntu. Během pár minut máte připravený server. Na ten se stačí "ssháčknout" a automaticky se spustí instalace Ghostu a o pár zadaných údajů později vám běží web. Taky se vám tam nainstaluje SSL certifikát Let's Encrypt. Takže se ujistěte, že vaše doména směřuje na tento nový virtuál, aby jej mohl Let's Encrypt potvrdit. IP adresu virtuálního stroje najdete v administraci DigitalOceanu. Pokud zatím doménu nemáte, je možné zadat jen IP adresu stroje a generování certifikátu se přeskočí. Certifikát je možné později snadno vygenerovat v příkazové řádce na serveru.

Zbytek zůstal stejný. Doména směřuje na CloudFlare a odsud pak přímo na IP adresu stroje. Jelikož ale už mám validní certifikát díky samotné instalace Ghostu, není pak nutné používat CloudFlare. A tak jej pravděpodobně v brzké době vypnu.

Celá akce zabrala něco přes dvě hodiny. Migrace článků necelou hodinku. Pokud moc článků nemáte, jde to docela snadno :-)