Stało się coś, co od dawna chciałem osiągnąć, ale zrzucałem to na drugi plan. Z jednej strony dyktowane to było zwykłymi względami ekonomicznymi, z drugiej – chęci posiadania i eksperymentowania. Do tej pory mój blog przechodził przez różne platformy i hostingi, m.in. przez Joggera, hosting dzielony w LinuxPL, VPS w nieistniejącym już hostineuro, czy ostatecznie po VPS w OVH. Stan tej rzeczy uległ zmianie na początku tego miesiąca.
Wybór maszyn/ki
Od początku ukierunkowany byłem na malinkę, bardzo chciałem spróbować tego rozwiązania na własnej skórze i gdzieś z tyłu głowy miałem „marzenie, by ją mieć„. Z racji na fakt, że domyślnie tylko Raspberry Pi5 obsługuje dyski M2 – wybór padł na tą generację. Parę osób polecało mi wziąć ThinPC zamiast malinki, bo architektura x64, lecz została malinka…
Od razu zakupiłem pełny zestaw w wersji 8 GB, w skład którego wchodzi:
- Metalowa obudowa
- Karta pamięci 64 GB (zbędna dla mnie obecnie)
- Dedykowany oryginalny zasilacz
- Płytka do zamontowania dysku M2
- Dodatkowe chłodzenie
Celowo chciałem też malinę ze względu na mały pobór prądu (27W) i wysoką funkcjonalność.
Montowanie całości, stawianie systemu1 (Ubuntu) – czysta przyjemność. Całkiem niepotrzebnie obawiałem się, że może być z czymś problem. Po uruchomieniu nadszedł czas na
Przywrócenie wszystkiego z backupu
Do dziś dzień korzystam z kopii zapasowych robionych ręcznie przez ten skrypt, bo jeszcze nigdy się nie zawiodłem. Nie mogło być inaczej i tym razem. Po wykonaniu pełnej kopii z VPS w OVH, po prostu odtworzyłem ją na malinie. Wcześniej oczywiście ręczna instalacja wszystkich niezbędnych pakietów do funkcjonowania serwera.
Z racji na to, że przenosiłem dane z Ubuntu na Ubuntu wraz z gotowymi konfigami – nie było wielu problemów. Bo jednak pewne były.
Problem z domeną na dynamicznym publicznym IP
Pierwszy problem, z którym musiałem się zmierzyć, a był dla mnie czymś obcym, było sprawienie by domena działała na dynamicznym publicznym adresie IP. Szczęście w nieszczęściu, że obecny ISP zmienia mi IP średnio raz na miesiąc, więc w ostateczności mógłby to robić ręcznie, ale skoro można to zautomatyzować, to dlaczego by nie.
Krótki research i cyk, gotowe rozwiązanie od kazuko. Co godzinę w CRON ustawione jest uruchomienie w/w skryptu w celu ewentualnej zmiany adresu IP w OVH (domena nadal tam zostaje).
Czy automatyczne uruchamianie co godzinę, nie jest za rzadkie – nie wiem, przekonam się jak doczekam się pierwszej zmiany IP, ile przerwy mi ona dostarczy ;). Domyślny TTL dla domeny to 60.
A gdy już backup został odtworzony i domena zaczęła działać, to rozpocząłem konfigurację usług, z których korzystałem. No i tutaj zatrzymałem się na…
Wypuszczenie w świat VPN przez WireGuard
Z tunelu dostarczanego przez WireGuard korzystam już jakiś czas, więc konfig oczywiście miałem gotowy, migracja dokonana, pacjent (czyli ja, przez komputer, czy telefon) łączy się z dawcą (malina) prawidłowo, ale dawca nie chce puścić dalej w świat. Fuck yeah :P.
W OVH przerabiałem podobne tematy po aktualizacjach systemu, kiedy to nadpisywany został resolv.conf domyślną zawartością i VPN głupiał z tłumaczeniem domen (DNS). Tutaj było podobnie, co nawet naświetliłem Jakubowi w trakcie jednej rozmowy szukając rozwiązania problemu.
Po pierwsze primo odwiązałem2 /etc/resolv.conf od /run/systemd/resolve/stub-resolv.conf i wpisałem sobie takie serwery, jakie chciałem.
Po drugie primo to nie rozwiązało problemu do końca. Po długich kombinacjach, rozwiązanie było mega proste i szybkie. Dodałem sobie ręcznie serwer DNS do konfiguracji WireGuard poprzez wartość:
DNS = <ADRES IP DNS>
Dawca przesyła buziaczki w świat i cały ruch teraz odbywa się tak, jak zaplanowane: telefon/komputer<>malina<>sieć lokalna<>świat.
Ustawienie RevDNS
Doszliśmy do przedostatniego punktu spotkania – ustawienie RevDNS. Będzie krótko, zwięźle i na temat: nie zrobię. Chciałem, ale to się nie uda, bo od ISP nie dostanę takiej funkcji i muszę się obejść smakiem. Ale nic to, nie jest to coś, co muszę mieć… fajnie by było, ale dam radę bez tego. Jedynie może występować problem z powiadomieniami mailowymi o komentarzach, które mogą zostać odrzucane przez serwery dostawców mimo, że domena jest zweryfikowana.
Na razie widzę po swoich powiadomieniach, że na gmail dochodzi wszystko ok.
Przekierowanie portów na routerze
Ostatnim punktem jest port forwarding, by ruch odbywał się do maliny. Tu bez większych problemów, bo na zewnątrz mam i tak puszczony tylko ruch na kilku portach, więc wklepanie ręcznie kilku wartości – bez problemu. Dodatkowo na malinie też stoi firewall blokujący niepożądany ruch.
Czy było warto?
Nie wiem, okaże się ile malina podziała. Z pkt widzenia ekonomicznego jej zakup/utrzymanie zwróci mi się po około 2 latach, bo średnio za rok płaciłem 400 zł za VPS. Zużycie prądu niewielkie, a za internet i tak płacę… Koszt domeny jest najniższym kosztem z całości i nie wliczam go „w straty”, ponieważ i tak muszę ją przedłużać.
Z pkt. widzenia samego posiadania sprzętu – tak, było warto. Jaram się dalej jak dziecko, jak przychodzi zrobić coś na niej, bo jest to dla mnie nowość, żeby mieć serwer w domu. Odnoszę też wrażenie, że blog działa zdecydowanie szybciej, ale nie ma się też co dziwić, bo jest mocniejsza konfiguracja.
A… i na koniec wisienka na torcie. Zmieniłem logo. W końcu przesiadka na self-host jest czymś wielkim i musi temu towarzyszyć jeszcze zmiana wizualna ;). Mimo, że zapierałem się przed kolorowym logo i nie chciałem takiego, tak na razie mi się podoba efekt i zostanie na bliżej nieokreślony czas.
Dodaj komentarz