Po nieco ponad kwartale od zatrzymaniaPlanety Joggera, dojrzałem do jej przywrócenia. Nie jest to ta sama planeta, co wcześniej. Główna zmiana to silnik. Skręciłem w stronę o której pisałem czyli prosta planeta, gdzie będą tylko tytuły i daty wpisów. Może tekstowy fragment opisu, bez formatowania HTML.
Zmiana silnika spowodowała też parę zmian. Jest też kilka niedoróbek:
Lista blogów w stopce jest generowana dynamicznie. Tylko jeśli uda się pobrać feed, to blog się pojawi na liście źródeł. Wynika z pewnego uproszczenia działania po stronie silnika, może kiedyś zmienię. Albo może i nie zmienię, bo po co oszukiwać, że wpisy z danego źródła są pobierane, skoro nie są?
W przeciwieństwie do poprzedniej wersji nie są prezentowane pełne wpisy, a jedynie zajawki. Czyli wykorzystuję pole description z feedu. Powodów jest wiele, ale w sumie przy poprzedniej wersji była sugestia, żeby właśnie tylko zajawkę dawać i… wg mnie jest OK.
Nie będą pojawiały się obrazki/zdjęcia. Trochę jest to pokłosie punktu wyżej, a trochę ze względu na bezpieczeństwo.
Nie działa feed planety (choć jest linkowany). Nie zrobiłem na razie, ale będzie.
Z niewidocznych zmian: wylatuje kontener LXC, nie ma całego Planet Venus. Nie ma cache. Całość to obecnie jest jeden plik konfiguracyjny (YAML), dwa pliki template i jeden plik z kodem (Python). Uruchomić z crona, najlepiej z wykorzystaniem venv i… to wszystko. Działa szybciej. KISS
Jeśli chodzi o jak to jest zrobione, to silnik – albo raczej: silniczek – opublikuję wkrótce. Na razie przetestowałem działanie ręcznie, teraz uruchomiłem automatyczne odświeżanie z crona. Jeśli zauważycie błędy liczę na informację. Gdy wszystko będzie działało i dorobię generowanie feedu planety, wtedy publikacja kodu. Repo nanoplanet – chwilowo puste – już linkuję, żeby nie musieć aktualizować wpisu.
Dajcie znać jak się podoba i czy widzicie jakieś usterki.
Debian 12 o nazwie Bookworm został wydany niemal dwa miesiące temu. Zapomniałem o wpisie z tej okazji, choć większość systemów (kilka desktopów, kilka serwerów) już zaktualizowałem. Może dlatego, że aktualizacja bezproblemowa, żeby nie powiedzieć nudna. Zatem zgodnie z tradycją, wrażenia z aktualizacji.
Przy aktualizacji do Bookworm warto pamiętać o dwóch istotnych zmianach:
Niewolne firmware zostały przeniesione z non-free do non-free-firmware. Jeśli korzystamy, to warto dodać stosowny wpis w sources.list. I przy okazji można pomyśleć, czy potrzebujemy non-free. Jeśli nie, można usunąć.
W związku ze zmianami w pakietach, pojawił się osobny pakiet systemd-resolved. Teoretycznie nie powinien być potrzebny, bo w domyślnej konfiguracji rozwiązywanie nazw nie korzystało z rozwiązania systemd. W praktyce na paru – ale nie wszystkich – VMkach resolvowanie DNS przestało mi działać, a doinstalowanie systemd-resolved rozwiązało problem. Polecam zatem pobranie go przed rozpoczęciem aktualizacji[1]:
W przeciwnym razie będziemy zmuszeni do drobnej kombinacji z dostarczeniem pakietu przy nie do końca działającej sieci. Co nie jest trudne, ale nieco bardziej niewygodne.
W poprzednim wpisie pisałem o planowanej migracji na Oracle Cloud. Jak widać blog stoi już w nowej lokalizacji, więc operacja jest zakończona i mogę napisać kilka słów z perspektywy.
Migracja
Poszło niemal bezproblemowo. Backup w zasadzie zadziałał. Był problem z detalami typu lista zainstalowanych pakietów i crony. W sumie nieistotne i/lub poprawione. Xpil opisał swoją migrację VPSa i po tej lekturze miałem silne postanowienie zamknięcia wszystkiego w kontenerach LXC. To nieco wydłużyło proces migracji i dodało trochę zadań. Co prawda nadal nie jest to taka separacja jak w dockerach czyli per usługa, ale mariadb + nginx + całe WWW w osobnym VPSie też jest OK.
Konieczne było lekkie przemeblowanie. Musiałem rozdzielić skrypty cron do właściwych kontenerów. Okazało się też, że wynik działania jednego kontenera (Planeta Joggera) musi trafić nie do hypervisora, tylko do innego kontenera, a ten nie ma dostępu. Skrypt w cronie na hypervisorze załatwił sprawę. Podobnie niezbyt elegancko rozwiązany jest backup bazy danych. Dump robię teraz w LXC, a następnie cały kontener jest backupowany. W ten sposób zawartość bazy jest zdublowana. Mam pomysł jak to rozwiązać, nie wiem, czy potrzebuję. Tyle o samej migracji, a efekty i hosting?
Efekty
Przede wszystkim jest szybciej, przynajmniej wg GTmetrix. Niestety nie zrobiłem testu tuż przed migracją i od razu po niej. Mam tylko ten link z twardymi danymi, ale w międzyczasie się poprawiło, więc polegam głównie na pamięci. Ale tak dobrze to nigdy nie było:
GTmetrix w Oracle Cloud
Hosting
Pewnie w sporej części to kwestia przejścia z jednego VPSa na dwa, w dodatku z widocznymi dwoma rdzeniami w systemie. W Arubacloud było:
Blog zawsze dominował, jeśli chodzi o obciążenie, ale teraz ma całe zasoby dla siebie. Z drugiej strony bieżący VPS ma sporo wolniejszy dysk (3000 IOPS, 24 MB/s). Można tym jakoś sterować, ale zakładałem na domyślnych wartościach. No i nie widzę potrzeby zmiany.
Wady
Żeby nie było, że wszystko jest fajnie – port 25 TCP w Oracle Cloud jest zablokowany na twardo, w obie strony. Czyli ani maila nie przyjmę, ani nie wyślę. Znalazłem, że trzeba pisać do supportu o odblokowanie. Napisałem i zobaczymy. O ile do monitoringu poczta nie jest mi potrzebna, bo powiadomienia mogę wysyłać Telegramem, to przy blogu jest to jakby kluczowe. Potwierdzanie subskrybcji komentarzy itp. Z drugiej strony widzę, że nie było to jakoś mocno wykorzystywane… Zobaczę co odpowiedzą i wtedy pomyślę, co dalej.
Ogólnie sporo rzeczy w Oracle Cloud jest załatwianych przez support. Ustawienie PTR – support (działa!). Inny obraz dysku dla arm64 – support (tak powiedzieli na czacie, odpuściłem).
UPDATE: Port 25 nie został odblokowany, bo free tier. Nie jest to duży problem – wystarczy skonfigurować SMTP relay u któregoś z dostawców.