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.

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.

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ę. Wrzuciłem do FitPuba całą tegoroczną aktywność z Garmina i… Jakoś to wygląda.

Screenshot 2026 06 17 at 08.55.56

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

Screenshot 2026 06 17 at 08.59.03

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.

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

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ś.

Aplikacja udostępnia kilka ciekawych funkcji dostępnych w komercyjnych aplikacjach.

Activity Dashboard

Screenshot 2026 06 17 at 08.56.58

Personal Records

Screenshot 2026 06 17 at 08.57.12

Training Loads

Screenshot 2026 06 17 at 08.57.44

No i, oczywiście, nie trzeba korzystać z wersji selfhosted. Jest ogólnodostępna instancja FitPub.

Visited Peaks

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

$ wget https://download.geofabrik.de/europe/poland-latest.osm.pbf

a następnie wrzuciłem ją na swoją instancję:

$ 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

I otrzymałem:

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

FitPub znalazł i zrobił update dla wszystkich aktywności.

Visited Peaks

#fitpub #selfhosting #docker #Linux

— Marcin “czach” Trzaska reply-to: @czach@mastodon.argilus.online