Bloguji s Ghostem

Osvítil mě Ghost svatý a začal jsem psát blog ... již po několikáté. Asi jako každého, kdo si chce sám provozovat blog, mě napadlo použít Wordpress. Používá ho přes 30% všech webů na internetu, má obrovskou komunitu, spoustu pluginů, témat atd. To je všechno sice hezký, ale já mám rád alternativy. Hledal jsem něco jednoduchého, rychlého a narazil jsem na Ghost, který zatím splňuje vše co od reakčního systému pro blog potřebuji. Administrace je velmi jednoduchá a přehledná, celkově na mě působí, že je vše takové čistší a rychlejší než u Wordpressu.

Wordpress i Ghost jsou oba open-source, tedy že mají otevřené zdrojové kódy, a to je asi to jediné co mají společné. Jinak se liší už od samotného základu. Každý je napsán v jiném programovacím jazyce, Wordpress je napsán v PHP a Ghost pohání Node.js tedy JavaScript. Z tohoto důvodu nelze Ghost rozběhat na běžném webhostingu.

Ghost nemá podporu pluginů třetích stran jako Wordpress, je to opravdu čistě redakční platforma, funkčnost je možné rozšiřovat pouze pomocí integrace externích prvků z jiných služeb. Například Ghost nemá ani komentáře ke článkům, musí se přidat integrace s Disqus. Nic takového ale nemám v plánu, budu se snažit udržovat blog co nejčistší to půjde, ani externí kód na měření návštěvnosti Google Analytics přidávat pravděpodobně nebudu (cookies jsou zlo).

Co se týká nabídky šablon, je to nesrovnatelné. V nabídce je nyní asi jen 5 free šablon a počet placených by se vešel do stovky. Samozřejmě jde hlavně o kvalitu a ne kvantitu... Aktuálně je víceméně dostačující výchozí šablona a než se blog trochu rozjede, tak to měnit nebudu. Pokud budu chtít, blogování mě nepřestane bavit a nebudu línej, tak si můžu udělat šablonu vlastní nebo upravím tu výchozí trochu více k obrazu svému. Co jsem zatím letmo koukal, tvorba vlastních šablon je dobře zdokumentována a neměl by s tím být větší problém.

Zatím to možná vypadá, že Ghost nestojí vůbec za řeč a má jen samé nevýhody proti Wordpressu. Žádné pluginy, minimum šablon a ani to neběží na PHPku jako všechno ostatní. To se mi na něm právě nejvíc líbí! :) Oceňuji zejména jeho jednoduchost a rychlost. Zatím jsem spokojený, uvidíme jaký budu mít názor až ho budu používat delší dobu.

Ghost provozuji v Dockeru

Jak jsem psal v úvodu, Ghost není klasická PHP apka, kterou stačí jen nahrát na libovolný webhosting. Tento blog běží na linuxovém serveru a Ghost je, se vším co ke svému běhu potřebuje, uzavřený v kontejneru pomocí Dockeru. Samozřejmě existují i jiné možnosti, jak Node.js aplikaci spustit, ale s Dockerem je to podle mého názoru nejjednodušší a dobře se to spravuje.

Oficiální repozitář s Ghost obrazy je klasicky na Docker Hubu.

Nebudu zde rozepisovat návod, jak používat Docker a spustit kontejner, jen níže přidávám můj konfigurační soubor pro docker-compose utilitu. Musím ještě zmínit, že spuštěný kontejner s Ghostem je schován za Nginx reverzní proxy, která také řeší šifrování (https://) a až následně jsou požadavky přávány do kontejneru. Podrobnosti si nechám do samostatného článku.

Takto vypadá můj docker-compose.yml, kterým spouštím službu Ghost a s ním rovnou MySQL server (MariaDB) jako druhou samostatnou službu:

version: '3.2'
services:

  ghost:
    image: ghost:latest
    container_name: meziblog_ghost
    restart: always
    ports:
      - 127.0.0.1:3001:2368
    environment:
      database__client: mysql
      database__connection__host: db
      database__connection__user: root
      database__connection__password: password
      database__connection__database: ghost
      url: https://meziblog.cz
    volumes:
      - /srv/docker/meziblog/ghost:/var/lib/ghost/content

  db:
    image: mariadb:latest
    container_name: meziblog_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
    volumes:
      - /srv/docker/meziblog/db:/var/lib/mysql

Data, která je potřeba uchovat mimo kontejnery, ukládám na disku do adresáře /srv/docker/meziblog. Databáze je v podadresáři db a Ghost ukládá statický content (obrázky atd.) do podadresáře ghost.

Nezapomenout nastavit lepší heslo než password pro přístup do databáze !

Kdyby se našel někdo, kdo by chtěl Ghost vyzkoušet, stačí napsat mail a zařídím testovací instalaci a klidně i dlouhodobý hosting.

Blogování zdar a internete drž palce!

Michal Stulík

Michal Stulík

Kontakt: stulda@stulda.cz