>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Bezpieczeństwo
Go

Jak zebrać wszystkie kanały informacyjne i metryki w jednym przytulnym kokpicie

1000 gwiazdki

Czy kiedykolwiek złapałeś się na tym, że zaczynasz poranek od ciągłego przełączania kart? Najpierw Reddit, potem Hacker News, sprawdzasz pogodę, patrzysz jak radzą sobie kontenery Docker na serwerze i czy Twoja ulubiona biblioteka doczekała się aktualizacji na GitHubie. W połowie tego procesu Twoja energia do pracy zwykle już paruje.

Od jakiegoś czasu szukałem rozwiązania, które zebrałoby cały ten cyfrowy szum na jednej schludnej stronie. I wygląda na to, że znalazłem projekt, który robi to bez zbędnych ceregieli i komplikacji. Poznaj Dynacat.

Co to za bestia ten Dynacat

W zasadzie to lekki, samodzielnie hostowany kokpit. Projekt powstał jako fork innego narzędzia — Glance, ale z naciskiem na dynamikę. Jeśli Glance czasem wydawał się statyczny, Dynacat jest dostosowany do tego, by dane aktualizowały się "w locie" i dobrze współpracowały z zewnętrznymi serwisami.

Główny atut to prostota. Cały backend jest w Go, frontend to zwykły JS bez ciężkich frameworków. Efektem jest binarka poniżej 20 MB, która nie zżera pamięci i działa praktycznie na każdym "żelazku", czy to starym Raspberry Pi, czy domowym NAS-ie.

Co można wyświetlić na ekranie

Autor nie wymyślał koła na nowo i zaimplementował wsparcie dla najbardziej pożądanych rzeczy. Oto co skonfigurowałem w pierwszych dziesięciu minutach:

  • Agregatory wiadomości. Kanały RSS, najnowsze posty z Reddita i Hacker News. Możesz skonfigurować limity: na przykład wyświetlaj tylko 5 świeżych wiadomości, żebyś się nie pogubił w czytaniu.
  • Monitorowanie zasobów. Status kontenerów Docker i ogólne statystyki serwera. Bardzo wygodnie jest zobaczyć, że wszystko jest "na zielono" bez otwierania konsoli.
  • Aktywność deweloperska. Lista wydań z GitHuba. Koniec z odświeżaniem stron repozytoriów, żeby sprawdzić, czy wyszła nowa wersja oprogramowania.
  • Media. Świeże filmy z kanałów YouTube i status streamera na Twitchu.
  • Finanse i pogoda. Notowania giełdowe, krypto i prognoza dla Twojego miasta.

Co ciekawe, projekt wspiera niestandardowe widżety. Jeśli czegoś brakuje "out of the box", możesz dopracować własne rozwiązanie za pomocą Dynawidgets.

Jak to się konfiguruje

Zapomnij o panelach admina i klikaniu myszką. Cały opis kokpitu żyje w plikach YAML. Dla niektórych to wada, ale dla dewelopera — czysta rozkosz. Możesz wrzucić konfigurację do Git, wersjonować ją i szybko wdrożyć gdziekolwiek.

Oto przykład typowej konfiguracji strony:

  - name: Work
    columns:
      - size: small
        widgets:
          - type: calendar
            first-day-of-week: monday
          - type: weather
            location: Moscow, RU
            units: metric

      - size: full
        widgets:
          - type: hacker-news
          - type: releases
            repositories:
              - Panonim/dynacat
              - golang/go

Struktura jest intuicyjna: podziel stronę na kolumny, włóż widżety do kolumn. Możesz tworzyć wiele zakładek, jeśli jest za dużo informacji.

Design i urządzenia mobilne

Autor najwyraźniej zrozumiał, że będziemy otwierać ten kokpit z telefonu, popijając kawę. Interfejs jest responsywny i wygląda na smartfonie jak natywna aplikacja.

Plus jest wsparcie dla motywów. Jeśli nie podoba Ci się domyślny wygląd, możesz wybrać spośród gotowych presetów lub samemu dostosować CSS. Żadnych "krwawiących oczu" kolorów, wszystko jest dość minimalistyczne.

Parę niuansów przy uruchamianiu

Podczas procesu konfiguracji zauważyłem kilka rzeczy, o których warto wiedzieć zawczasu:

  1. Problemy z DNS. Jeśli masz w domu uruchomionego Pi-Hole lub AdGuard Home, mogą blokować częste żądania widżetów do zewnętrznych API. W dokumentacji sugerują po prostu podniesienie limitów w ustawieniach blokera.
  2. Konflikty rozszerzeń. Znany bug: rozszerzenie przeglądarki Dark Reader może popsuć układ niektórych widżetów (np. wykresów rynkowych). Lepiej od razu dodać domenę kokpitu do wyjątków.
  3. Bezpieczeństwo. Domyślnie Dynacat zabrania osadzania w iframe'ach z innych domen. Jeśli planujesz włożyć go do innego portalu jak Homepage, będziesz musiał dostosować konfigurację serwera.

Werdykt: czy warto spróbować

Jeśli masz już domowy serwer lub po prostu masz dość chaosu w zakładkach, Dynacat jest świetnym kandydatem na rolę "strony startowej".

Komu na pewno przypadnie do gustu:

  • Właścicielom HomeLabów.
  • tym, którzy chcą widzieć stan swoich projektów i serwerów w jednym miejscu.
  • Minimalistom, którzy cenią szybkość interfejsu.

Projekt jest jeszcze świeży, ale podstawowe funkcje działają stabilnie. Czas ładowania strony to około sekunda, zużywa minimum zasobów — wygląda na to, że to dokładnie to, czego potrzeba do komfortowego monitoringu bez zbędnych bolączek.

Sprawdź repozytorium Dynacat, w README jest link do dokumentacji z szczegółowym opisem wszystkich parametrów. Myślę, że dodam jeszcze pare kanałów RSS do swojego feedu.

Powiązane projekty