<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Remark42 on Kliku Kliku</title><link>https://klikukliku.dev/pl/tags/remark42/</link><description>Recent content in Remark42 on Kliku Kliku</description><generator>Hugo</generator><language>pl</language><lastBuildDate>Fri, 24 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://klikukliku.dev/pl/tags/remark42/index.xml" rel="self" type="application/rss+xml"/><item><title>remark42 w Hugo: cross-domain sesja bez third-party cookies</title><link>https://klikukliku.dev/pl/posts/hugo-comments-remark42/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/hugo-comments-remark42/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;To kolejny wpis w serii o systemach komentarzy dla Hugo. W poprzednim postawiłem samą aplikację remark42 na VPS obok istniejącego &lt;code&gt;caddy-docker-proxy&lt;/code&gt;: &lt;strong&gt;&lt;a href="https://klikukliku.dev/pl/posts/remark42-self-hosted-vps/"&gt;Self-hosting remark42 obok istniejącego Caddy na VPS&lt;/a&gt;
&lt;/strong&gt;. Backend odpowiada „pong&amp;quot;, baza BoltDB przyjmuje zapisy. Ale to jeszcze nie są komentarze pod wpisami. Żeby pojawiły się na stronie, trzeba wpiąć widget: kawałek kodu JavaScript, który powoduje powstanie iframe z listą wątków i formularzem.&lt;/p&gt;
&lt;p&gt;Mój setup ma jednak jeden szczegół, który przy tym wpięciu wraca jak bumerang. Blog i instancja remark42 stoją na różnych domenach. Z perspektywy przeglądarki iframe od remark42 osadzony na stronie to klasyczny „third-party context&amp;quot;. Ta sama kategoria, do której trafiają reklamowe pixels, przyciski „Zaloguj przez Facebook&amp;quot;, tracking scripts.&lt;/p&gt;</description></item><item><title>remark42: OAuth przez GitHub i powiadomienia mailowe przez transakcyjny SMTP</title><link>https://klikukliku.dev/pl/posts/remark42-oauth-i-powiadomienia-mailowe/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/remark42-oauth-i-powiadomienia-mailowe/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;W &lt;strong&gt;&lt;a href="https://klikukliku.dev/pl/posts/remark42-self-hosted-vps/"&gt;Self-hosting remark42 obok istniejącego Caddy na VPS&lt;/a&gt;
&lt;/strong&gt; postawiłem instancję remark42 z minimalną konfiguracją. Kontener stoi, widget się osadza na blogu, komentować mogą wszyscy jako anonim. Setup startowy jest funkcjonalny do pokazania, że coś działa, ale ma dwa braki, które wychodzą pierwszego dnia realnego użycia: brak sensownego uwierzytelniania i brak jakichkolwiek powiadomień, przez co nowy komentarz można zauważyć tylko przez ręczne odwiedzanie wpisów.&lt;/p&gt;
&lt;p&gt;W tym wpisie doprowadzam do działania trzy elementy remark42. Uwierzytelnianie przez GitHub OAuth jako główny kanał logowania, powiadomienia mailowe do admina i do subskrybentów wątków, oraz magic-link email jako trzeci kanał dla osób bez konta GitHub. Prowadzę przez konfigurację konceptualnie, przykłady konkretnych providerów (GitHub jako OAuth, EmailLabs jako transakcyjny SMTP) traktuję jako ilustrację mechaniki, a nie „jedyny słuszny wybór&amp;quot;. Jeżeli macie inne preferencje, mapa drogowa zostaje ta sama, zmieniają się tylko wartości w &lt;code&gt;.env&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Self-hosting remark42 obok istniejącego Caddy na VPS</title><link>https://klikukliku.dev/pl/posts/remark42-self-hosted-vps/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://klikukliku.dev/pl/posts/remark42-self-hosted-vps/</guid><description>&lt;h2 id="wstęp"&gt;Wstęp&lt;/h2&gt;
&lt;p&gt;Kontynuuję serię przeglądu systemów komentarzy pod Hugo. Po &lt;strong&gt;&lt;a href="https://klikukliku.dev/pl/posts/cusdis-self-hosted-vps/"&gt;Self-hosting Cusdis z Caddy na VPS&lt;/a&gt;
&lt;/strong&gt; przyszedł czas na &lt;a href="https://github.com/umputun/remark42" target="_blank" rel="noopener"&gt;remark42&lt;/a&gt;
. W przeciwieństwie do Cusdis (który ma zarządzaną wersję na &lt;code&gt;cusdis.com&lt;/code&gt;) i Disqus (który jest wyłącznie SaaS), remark42 nie oferuje wariantu managed. Jedyna droga to self-hosting. Jeśli chcecie w ogóle spróbować remark42, ten wpis dotyczy dokładnie tego setupu.&lt;/p&gt;
&lt;p&gt;Setup z poprzedniego wpisu rozrósł się z czasem. Do Caddy&amp;rsquo;ego dedykowanego dla Cusdisa (konfiguracja w &lt;code&gt;Caddyfile&lt;/code&gt;, porty 80/443 na hoście) dołożyłem kolejne serwisy. Każdy musiał dopisywać się do tego samego &lt;code&gt;Caddyfile&lt;/code&gt;, co przy większej liczbie usług robiło się uciążliwe i podatne na literówki. Przesiadłem się więc na &lt;a href="https://github.com/lucaslorentz/caddy-docker-proxy" target="_blank" rel="noopener"&gt;&lt;code&gt;lucaslorentz/caddy-docker-proxy&lt;/code&gt;&lt;/a&gt;
: jedna instancja Caddy, konfigurację proxy buduje sam z labeli Dockera na kontenerach. Cusdis też został przemigrowany pod ten wzorzec.&lt;/p&gt;</description></item></channel></rss>