<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>fitpub &amp;mdash; Marcin &#34;czach&#34; Trzaska</title>
    <link>https://blog.argilus.online/czach/tag:fitpub</link>
    <description>Piszę, co mi przyjdzie do głowy. Na tematy różne.</description>
    <pubDate>Sat, 20 Jun 2026 17:57:34 +0200</pubDate>
    <item>
      <title>FitPub.ArgiluS.online </title>
      <link>https://blog.argilus.online/czach/fitpub-argilus-online</link>
      <description>&lt;![CDATA[Instancja FitPub na Argilusie jest dostępna. :-)&#xA;&#xA;Gdyby ktoś chciał potestować, to poproszę o Zn, ponieważ na razie nie chce mi się ogarniać normalnej rejestracji. &#xA;&#xA;#selfhosted #fitpub #fediverse  &#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Instancja <a href="https://fitpub.argilus.online" rel="nofollow"><em>FitPub</em></a> na Argilusie jest dostępna. :–)</p>

<p>Gdyby ktoś chciał potestować, to poproszę o <em>Zn</em>, ponieważ na razie nie chce mi się ogarniać normalnej rejestracji.</p>

<p><a href="/czach/tag:selfhosted" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfhosted</span></a> <a href="/czach/tag:fitpub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fitpub</span></a> <a href="/czach/tag:fediverse" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fediverse</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/fitpub-argilus-online</guid>
      <pubDate>Thu, 18 Jun 2026 19:33:58 +0000</pubDate>
    </item>
    <item>
      <title>FitPub</title>
      <link>https://blog.argilus.online/czach/fitpub</link>
      <description>&lt;![CDATA[Pierwotnie wpis dotyczący FitPub był jako zapowiedź nowości na Argilusie, ale jest to na tyle ciekawy projekt, że poświęcam mu osobny wpis.&#xA;&#xA;FitPub is a self-hosted fitness tracking platform for the Fediverse. It lets people upload workout files, review their activities with maps and metrics, and share them through ActivityPub instead of locking them into a closed social network.&#xA;&#xA;Muszę przyznać, że z instalacją FitPub była ostra jazda. Coś nie chciało to ruszyć i dopiero z pomocą Gemini AI udało mi się postawić własną instancję.&#xA;Wrzuciłem do FitPuba całą tegoroczną aktywność z Garmina i… Jakoś to wygląda. &#xA;&#xA;Screenshot 2026 06 17 at 08.55.56&#xA;&#xA;Dodając w ustawieniach klucz API do OpenWeatherMap w aktywności pojawi się informacja o pogodzie z danego dnia.&#xA;&#xA;Screenshot 2026 06 17 at 08.59.03&#xA;&#xA;Problemem chyba jest federacja albo nie wiem co, bo z poziomu mojej instancji GoToSocial nie jestem w stanie dać sobie follow. Nie mogę się też wbić za pomocą klientów takich jak Ivory, czy Ice Cubes — chyba jeszcze brak obsługi.&#xA;&#xA;Mogę dać follow komuś z instancji fitpub.social i działa to też w drugą stronę (sprawdzone ;-)).&#xA;&#xA;Próbowałem też zautomatyzować wrzucanie treningów, bo na razie trzeba to robić ręcznie, ale poległem i jedyne co udało mi się uzyskać, to krótki skrypt do ściągania aktywności z Garmina i ręczne wrzucenie jej do FitPuba. Zawsze coś. &#xA;&#xA;Aplikacja udostępnia kilka ciekawych funkcji dostępnych w komercyjnych aplikacjach.&#xA;&#xA;Activity Dashboard&#xA; &#xA;Screenshot 2026 06 17 at 08.56.58&#xA;&#xA;Personal Records&#xA;&#xA;Screenshot 2026 06 17 at 08.57.12&#xA;&#xA;Training Loads&#xA;&#xA;Screenshot 2026 06 17 at 08.57.44&#xA;&#xA;No i, oczywiście, nie trzeba korzystać z wersji selfhosted. Jest ogólnodostępna instancja FitPub.&#xA;&#xA;Visited Peaks&#xA;&#xA;Zaciekawiony danymi na FitPub.social ściągnąłem na serwer mapę Polski &#xA;$ wget https://download.geofabrik.de/europe/poland-latest.osm.pbf&#xA;a następnie wrzuciłem ją na swoją instancję:&#xA;$ sudo docker compose -f /opt/fitpub/docker-compose.yml run --rm   -v /srv/fitpub/osm/poland-latest.osm.pbf:/data/poland-latest.osm.pbf:ro   --entrypoint java   fitpub   -jar /app/import-peaks.jar --truncate --backfill /data/poland-latest.osm.pbf&#xA;I otrzymałem:&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.f.t.peaks.PlanetPeakImportService    : Peak import summary: entities=272178230, nodes=238757866, candidates=16456, staged=12810, inserted=12810, updated=0, skippedUnnamed=3646, skippedUnsupported=238741410, elevationParsed=10171, elevationMissingOrInvalid=2639&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Peak import finished successfully&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Starting peak backfill&#xA;2026-06-17T14:34:16.943Z  INFO 1 --- [           main] n.j.fitpub.service.PeakDetectionService  : Starting retroactive peak detection for 91 activities&#xA;FitPub znalazł i zrobił update dla wszystkich aktywności.&#xA;&#xA;Visited Peaks &#xA;&#xA;#fitpub #selfhosting #docker #Linux&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<p>Pierwotnie wpis dotyczący <em>FitPub</em> był jako zapowiedź nowości na Argilusie, ale jest to na tyle ciekawy projekt, że poświęcam mu osobny wpis.</p>

<pre><code>FitPub is a self-hosted fitness tracking platform for the Fediverse. It lets people upload workout files, review their activities with maps and metrics, and share them through ActivityPub instead of locking them into a closed social network.
</code></pre>

<p>Muszę przyznać, że z instalacją <em>FitPub</em> była ostra jazda. Coś nie chciało to ruszyć i dopiero z pomocą <em>Gemini AI</em> udało mi się postawić własną instancję.
Wrzuciłem do FitPuba całą tegoroczną aktywność z Garmina i… Jakoś to wygląda.</p>

<p><a href="https://blgpht.argilus.online/api/files/69/original/Screenshot_2026-06-17_at_08.55.56.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/69/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.55.56.png" alt="Screenshot 2026 06 17 at 08.55.56"></a></p>

<p>Dodając w ustawieniach klucz API do OpenWeatherMap w aktywności pojawi się informacja o pogodzie z danego dnia.</p>

<p><a href="https://blgpht.argilus.online/api/files/68/original/Screenshot_2026-06-17_at_08.59.03.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/68/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.59.03.png" alt="Screenshot 2026 06 17 at 08.59.03"></a></p>

<p>Problemem chyba jest federacja albo nie wiem co, bo z poziomu mojej instancji <a href="https://codeberg.org/superseriousbusiness/gotosocial#what-is-gotosocial" rel="nofollow"><em>GoToSocial</em></a> nie jestem w stanie dać sobie follow. Nie mogę się też wbić za pomocą klientów takich jak <em>Ivory</em>, czy <em>Ice Cubes</em> — chyba jeszcze brak obsługi.</p>

<p>Mogę dać follow komuś z instancji <em>fitpub.social</em> i działa to też w drugą stronę (sprawdzone ;–)).</p>

<p>Próbowałem też zautomatyzować wrzucanie treningów, bo na razie trzeba to robić ręcznie, ale poległem i jedyne co udało mi się uzyskać, to krótki skrypt do ściągania aktywności z Garmina i ręczne wrzucenie jej do FitPuba. Zawsze coś.</p>

<p>Aplikacja udostępnia kilka ciekawych funkcji dostępnych w komercyjnych aplikacjach.</p>

<h2 id="activity-dashboard">Activity Dashboard</h2>

<p><a href="https://blgpht.argilus.online/api/files/65/original/Screenshot_2026-06-17_at_08.56.58.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/65/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.56.58.png" alt="Screenshot 2026 06 17 at 08.56.58"></a></p>

<h2 id="personal-records">Personal Records</h2>

<p><a href="https://blgpht.argilus.online/api/files/66/original/Screenshot_2026-06-17_at_08.57.12.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/66/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.57.12.png" alt="Screenshot 2026 06 17 at 08.57.12"></a></p>

<h2 id="training-loads">Training Loads</h2>

<p><a href="https://blgpht.argilus.online/api/files/71/original/Screenshot_2026-06-17_at_08.57.44.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/71/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.57.44.png" alt="Screenshot 2026 06 17 at 08.57.44"></a></p>

<p>No i, oczywiście, nie trzeba korzystać z wersji selfhosted. Jest ogólnodostępna instancja <a href="https://fitpub.social" title="FitPub.social" rel="nofollow">FitPub</a>.</p>

<h2 id="visited-peaks">Visited Peaks</h2>

<p>Zaciekawiony danymi na <em>FitPub.social</em> ściągnąłem na serwer mapę Polski</p>

<pre><code>$ wget https://download.geofabrik.de/europe/poland-latest.osm.pbf
</code></pre>

<p>a następnie wrzuciłem ją na swoją instancję:</p>

<pre><code>$ sudo docker compose -f /opt/fitpub/docker-compose.yml run --rm   -v /srv/fitpub/osm/poland-latest.osm.pbf:/data/poland-latest.osm.pbf:ro   --entrypoint java   fitpub   -jar /app/import-peaks.jar --truncate --backfill /data/poland-latest.osm.pbf
</code></pre>

<p>I otrzymałem:</p>

<pre><code>2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.f.t.peaks.PlanetPeakImportService    : Peak import summary: entities=272178230, nodes=238757866, candidates=16456, staged=12810, inserted=12810, updated=0, skippedUnnamed=3646, skippedUnsupported=238741410, elevationParsed=10171, elevationMissingOrInvalid=2639
2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Peak import finished successfully
2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Starting peak backfill
2026-06-17T14:34:16.943Z  INFO 1 --- [           main] n.j.fitpub.service.PeakDetectionService  : Starting retroactive peak detection for 91 activities
</code></pre>

<p><em>FitPub</em> znalazł i zrobił update dla wszystkich aktywności.</p>

<p><img src="https://blgpht.argilus.online/api/files/72/original/Screenshot_2026-06-17_at_16.41.32.png" alt="Visited Peaks" title="Visited Peaks"></p>

<p><a href="/czach/tag:fitpub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fitpub</span></a> <a href="/czach/tag:selfhosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfhosting</span></a> <a href="/czach/tag:docker" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">docker</span></a> <a href="/czach/tag:Linux" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Linux</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/fitpub</guid>
      <pubDate>Wed, 17 Jun 2026 14:51:34 +0000</pubDate>
    </item>
    <item>
      <title>Dvinyl, FitPub…</title>
      <link>https://blog.argilus.online/czach/dvinyl-fitpub</link>
      <description>&lt;![CDATA[czyli nowości w argilusowym ogródku.&#xA;&#xA;Dvinyl&#xA;&#xA;Na pierwszy ogień poszła aplikacja do organizowania sobie nośników przyjemności: ;-)&#xA;&#xA;płyt winylowych&#xA;kaset magnetofonowych&#xA;płyt CD&#xA;kpłyt DVD&#xA;książek&#xA;gier &#xA;&#xA;Jak na razie zdecydowałem się jedynie na moduł płyt winylowych, bo tych mam mniej do ogarnięcia. ;-) &#xA;No i trzeba zakładać konta w serwisach typu Discogs. &#xA;&#xA;Miałem dwa podejścia do instalacji. Za pierwszym razem mi się nie udało. Niby Docker stwierdził, że wszystko wstało, ale aplikacja nie miała interfejsu sieciowego, na którym by nasłuchiwała. &#xA;&#xA;Odpuściłem&#xA;&#xA;Za dwa dni siadłem jeszcze raz i… poszło.&#xA;Dodałem pierwsze 10 płyt (tych w najlepszym stanie).&#xA;Dodawać można podając tytuł, wykonawcę a można podać lub zeskanować kod kreskowy.&#xA;&#xA;Screenshot 2026 06 17 at 08.24.43&#xA;&#xA;Każdą płytę można sprawdzić pod kątem wartości na podstawie danych z Discogs.&#xA;&#xA;Screenshot 2026 06 17 at 08.25.21&#xA;&#xA;h3 id=&#34;FitPub&#34;FitPub/h3&#xA;&#xA;FitPub is a self-hosted fitness tracking platform for the Fediverse. It lets people upload workout files, review their activities with maps and metrics, and share them through ActivityPub instead of locking them into a closed social network.&#xA;&#xA;Oj, tutaj była ostra jazda z instalacją. Coś nie chciało to ruszyć i dopiero z pomocą Gemini AI udało mi się postawić własną instancję.&#xA;Wrzuciłem do FitPuba całą tegoroczną aktywność z Garmina i… Jakoś to wygląda. &#xA;&#xA;Screenshot 2026 06 17 at 08.55.56&#xA;&#xA;Dodając w ustawieniach klucz API do OpenWeatherMap w aktywności pojawi się informacja o pogodzie z danego dnia.&#xA;&#xA;Screenshot 2026 06 17 at 08.59.03&#xA;&#xA;Problemem chyba jest federacja albo nie wiem co, bo z poziomu mojej instancji GoToSocial nie jestem w stanie dać sobie follow. Nie mogę się też wbić za pomocą klientów takich jak Ivory, czy Ice Cubes — chyba jeszcze brak obsługi.&#xA;&#xA;Mogę dać follow komuś z instancji fitpub.social i działa to też w drugą stronę (sprawdzone ;-)).&#xA;&#xA;Próbowałem też zautomatyzować wrzucanie treningów, bo na razie trzeba to robić ręcznie, ale poległem i jedyne co udało mi się uzyskać, to krótki skrypt do ściągania aktywności z Garmina i ręczne wrzucenie jej do FitPuba. Zawsze coś. &#xA;&#xA;Aplikacja udostępnia kilka ciekawych funkcji dostępnych w komercyjnych aplikacjach.&#xA;&#xA;Activity Dashboard&#xA; &#xA;Screenshot 2026 06 17 at 08.56.58&#xA;&#xA;Personal Records&#xA;&#xA;Screenshot 2026 06 17 at 08.57.12&#xA;&#xA;Training Loads&#xA;&#xA;Screenshot 2026 06 17 at 08.57.44&#xA;&#xA;No i, oczywiście, nie trzeba korzystać z wersji selfhosted. Jest ogólnodostępna instancja FitPub.&#xA;&#xA;h4 id=&#34;Peaks&#34;Visited Peaks/h4&#xA;&#xA;Zaciekawiony danymi na FitPub.social ściągnąłem na serwer mapę Polski &#xA;$ wget https://download.geofabrik.de/europe/poland-latest.osm.pbf&#xA;a następnie wrzuciłem ją na swoją instancję:&#xA;$ sudo docker compose -f /opt/fitpub/docker-compose.yml run --rm   -v /srv/fitpub/osm/poland-latest.osm.pbf:/data/poland-latest.osm.pbf:ro   --entrypoint java   fitpub   -jar /app/import-peaks.jar --truncate --backfill /data/poland-latest.osm.pbf&#xA;I otrzymałem:&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.f.t.peaks.PlanetPeakImportService    : Peak import summary: entities=272178230, nodes=238757866, candidates=16456, staged=12810, inserted=12810, updated=0, skippedUnnamed=3646, skippedUnsupported=238741410, elevationParsed=10171, elevationMissingOrInvalid=2639&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Peak import finished successfully&#xA;2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Starting peak backfill&#xA;2026-06-17T14:34:16.943Z  INFO 1 --- [           main] n.j.fitpub.service.PeakDetectionService  : Starting retroactive peak detection for 91 activities&#xA;FitPub znalazł i zrobił update dla wszystkich aktywności.&#xA;&#xA;Visited Peaks &#xA;&#xA;#dvinyl #fitpub #selfhosting&#xA;&#xA;-- &#xD;&#xA;Marcin &#34;czach&#34; Trzaska&#xD;&#xA;reply-to: @czach@mastodon.argilus.online]]&gt;</description>
      <content:encoded><![CDATA[<h2 id="czyli-nowości-w-argilusowym-ogródku">czyli nowości w argilusowym ogródku.</h2>

<h3 id="dvinyl">Dvinyl</h3>

<p>Na pierwszy ogień poszła aplikacja do organizowania sobie nośników przyjemności: ;–)</p>
<ul><li>płyt winylowych</li>
<li>kaset magnetofonowych</li>
<li>płyt CD</li>
<li>kpłyt DVD</li>
<li>książek</li>
<li>gier</li></ul>

<p>Jak na razie zdecydowałem się jedynie na moduł płyt winylowych, bo tych mam mniej do ogarnięcia. ;–)
No i trzeba zakładać konta w serwisach typu <a href="https://www.discogs.com/" title="Discogs" rel="nofollow"><em>Discogs</em></a>.</p>

<p>Miałem dwa podejścia do instalacji. Za pierwszym razem mi się nie udało. Niby <em>Docker</em> stwierdził, że wszystko wstało, ale aplikacja nie miała interfejsu sieciowego, na którym by nasłuchiwała.</p>

<p>Odpuściłem</p>

<p>Za dwa dni siadłem jeszcze raz i… poszło.
Dodałem pierwsze 10 płyt (tych w najlepszym stanie).
Dodawać można podając tytuł, wykonawcę a można podać lub zeskanować kod kreskowy.</p>

<p><a href="https://blgpht.argilus.online/api/files/67/original/Screenshot_2026-06-17_at_08.24.43.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/67/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.24.43.png" alt="Screenshot 2026 06 17 at 08.24.43"></a></p>

<p>Każdą płytę można sprawdzić pod kątem wartości na podstawie danych z <em>Discogs</em>.</p>

<p><a href="https://blgpht.argilus.online/api/files/70/original/Screenshot_2026-06-17_at_08.25.21.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/70/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.25.21.png" alt="Screenshot 2026 06 17 at 08.25.21"></a></p>

<h3 id="FitPub">FitPub</h3>

<pre><code>FitPub is a self-hosted fitness tracking platform for the Fediverse. It lets people upload workout files, review their activities with maps and metrics, and share them through ActivityPub instead of locking them into a closed social network.
</code></pre>

<p>Oj, tutaj była ostra jazda z instalacją. Coś nie chciało to ruszyć i dopiero z pomocą <em>Gemini AI</em> udało mi się postawić własną instancję.
Wrzuciłem do FitPuba całą tegoroczną aktywność z Garmina i… Jakoś to wygląda.</p>

<p><a href="https://blgpht.argilus.online/api/files/69/original/Screenshot_2026-06-17_at_08.55.56.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/69/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.55.56.png" alt="Screenshot 2026 06 17 at 08.55.56"></a></p>

<p>Dodając w ustawieniach klucz API do OpenWeatherMap w aktywności pojawi się informacja o pogodzie z danego dnia.</p>

<p><a href="https://blgpht.argilus.online/api/files/68/original/Screenshot_2026-06-17_at_08.59.03.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/68/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.59.03.png" alt="Screenshot 2026 06 17 at 08.59.03"></a></p>

<p>Problemem chyba jest federacja albo nie wiem co, bo z poziomu mojej instancji <a href="https://codeberg.org/superseriousbusiness/gotosocial#what-is-gotosocial" rel="nofollow"><em>GoToSocial</em></a> nie jestem w stanie dać sobie follow. Nie mogę się też wbić za pomocą klientów takich jak <em>Ivory</em>, czy <em>Ice Cubes</em> — chyba jeszcze brak obsługi.</p>

<p>Mogę dać follow komuś z instancji <em>fitpub.social</em> i działa to też w drugą stronę (sprawdzone ;–)).</p>

<p>Próbowałem też zautomatyzować wrzucanie treningów, bo na razie trzeba to robić ręcznie, ale poległem i jedyne co udało mi się uzyskać, to krótki skrypt do ściągania aktywności z Garmina i ręczne wrzucenie jej do FitPuba. Zawsze coś.</p>

<p>Aplikacja udostępnia kilka ciekawych funkcji dostępnych w komercyjnych aplikacjach.</p>

<h4 id="activity-dashboard">Activity Dashboard</h4>

<p><a href="https://blgpht.argilus.online/api/files/65/original/Screenshot_2026-06-17_at_08.56.58.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/65/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.56.58.png" alt="Screenshot 2026 06 17 at 08.56.58"></a></p>

<h4 id="personal-records">Personal Records</h4>

<p><a href="https://blgpht.argilus.online/api/files/66/original/Screenshot_2026-06-17_at_08.57.12.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/66/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.57.12.png" alt="Screenshot 2026 06 17 at 08.57.12"></a></p>

<h4 id="training-loads">Training Loads</h4>

<p><a href="https://blgpht.argilus.online/api/files/71/original/Screenshot_2026-06-17_at_08.57.44.png" rel="nofollow"><img src="https://blgpht.argilus.online/api/files/71/variants/ffmpeg-1280x1280-in/Screenshot_2026-06-17_at_08.57.44.png" alt="Screenshot 2026 06 17 at 08.57.44"></a></p>

<p>No i, oczywiście, nie trzeba korzystać z wersji selfhosted. Jest ogólnodostępna instancja <a href="https://fitpub.social" title="FitPub.social" rel="nofollow">FitPub</a>.</p>

<h4 id="Peaks">Visited Peaks</h4>

<p>Zaciekawiony danymi na <em>FitPub.social</em> ściągnąłem na serwer mapę Polski</p>

<pre><code>$ wget https://download.geofabrik.de/europe/poland-latest.osm.pbf
</code></pre>

<p>a następnie wrzuciłem ją na swoją instancję:</p>

<pre><code>$ sudo docker compose -f /opt/fitpub/docker-compose.yml run --rm   -v /srv/fitpub/osm/poland-latest.osm.pbf:/data/poland-latest.osm.pbf:ro   --entrypoint java   fitpub   -jar /app/import-peaks.jar --truncate --backfill /data/poland-latest.osm.pbf
</code></pre>

<p>I otrzymałem:</p>

<pre><code>2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.f.t.peaks.PlanetPeakImportService    : Peak import summary: entities=272178230, nodes=238757866, candidates=16456, staged=12810, inserted=12810, updated=0, skippedUnnamed=3646, skippedUnsupported=238741410, elevationParsed=10171, elevationMissingOrInvalid=2639
2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Peak import finished successfully
2026-06-17T14:34:16.906Z  INFO 1 --- [           main] n.j.fitpub.tools.peaks.PeakImportRunner  : Starting peak backfill
2026-06-17T14:34:16.943Z  INFO 1 --- [           main] n.j.fitpub.service.PeakDetectionService  : Starting retroactive peak detection for 91 activities
</code></pre>

<p><em>FitPub</em> znalazł i zrobił update dla wszystkich aktywności.</p>

<p><img src="https://blgpht.argilus.online/api/files/72/original/Screenshot_2026-06-17_at_16.41.32.png" alt="Visited Peaks" title="Visited Peaks"></p>

<p><a href="/czach/tag:dvinyl" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">dvinyl</span></a> <a href="/czach/tag:fitpub" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">fitpub</span></a> <a href="/czach/tag:selfhosting" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">selfhosting</span></a></p>

<p>—
Marcin “czach” Trzaska
reply-to: <a href="https://blog.argilus.online/@/czach@mastodon.argilus.online" class="u-url mention" rel="nofollow">@<span>czach@mastodon.argilus.online</span></a></p>
]]></content:encoded>
      <guid>https://blog.argilus.online/czach/dvinyl-fitpub</guid>
      <pubDate>Wed, 17 Jun 2026 06:30:54 +0000</pubDate>
    </item>
  </channel>
</rss>