Jak hostować własną stronę internetową za pomocą Dockera i Nginx Proxy Manager

Jak hostować własną stronę internetową za pomocą Dockera i Nginx Proxy Manager

Usługa Cloudflare DDNS synchronizuje IP, Nginx Proxy Manager zarządza ruchem i certyfikatami SSL, a Ghost to łatwa platforma blogowa, idealna do domowego hostingu.

Podsumowanie

  • Usługa taka jak Cloudflare DDNS automatycznie aktualizuje IP Twojej domeny z IP Twojego domu.
  • Nginx Proxy Manager kieruje ruchem i zapewnia certyfikaty SSL poprzez Let's Encrypt oraz wdraża w Dockerze.
  • Ghost to przyjazna dla użytkownika platforma blogowa z obsługą markdown i pluginów, która jest łatwa do wdrożenia za pomocą Dockera.

Czy chciałeś prowadzić własną stronę internetową, ale nie znosisz myśli o płaceniu za hosting? Właśnie w takim miejscu się znalazłem, więc oto jak szybko stworzyłem stronę internetową z użyciem Dockera, Nginx Proxy Manager i Ghost.

Co potrzebujesz do uruchomienia osobistej strony internetowej?

Uruchomienie osobistej strony internetowej ma kilka wymagań wstępnych. Kiedy już będziesz gotowy, powinieneś mieć nazwę domeny, serwer do hostingu swojej strony (może to być nawet stary laptop, NUC lub Raspberry Pi), Dockera oraz kilka wdrożonych kontenerów.

Pierwszym krokiem jest serwer, na którym będziesz hostować swoją stronę. Nie musi być ultra-potężny i może to być komputer leżący w domu. Raspberry Pi, NUC, stary komputer stacjonarny lub nawet stary laptop będą świetnie działać w tej usłudze. Musisz mieć coś wyprodukowanego w ciągu ostatnich 15 lat, co jeszcze potrafi uruchomić nowoczesny system operacyjny (najlepiej Linux, ale Windows lub macOS również będą działać).

Następnym krokiem jest nazwa domeny. Możesz kupić swoją domenę wszędzie, ale polecam znalezienie takiej, która obsługuje DDNS natywnie, jak Cloudflare. Podczas gdy korzystając z wirtualnego serwera prywatnego (VPS) lub innej platformy hostingowej otrzymujesz stały adres IP, gdy hostujesz swoją stronę w domu, istnieje duża szansa, że Twoje IP zmieni się z czasem. Tu właśnie przychodzi DDNS (dynamiczny DNS). W zasadzie, kiedy Twoje IP w domu się zmienia, DDNS aktualizuje rekord A Twojej domeny, aby wskazywał na Twoje nowe IP.

Oprócz ustawienia domeny i DDNS, będziesz także potrzebować Dockera dla metody hostingu, którą tu polecam. Docker jest w stanie uruchomić wiele, ale dla Twojej strony będziemy potrzebować kontenera DDNS, Nginx Reverse Proxy oraz, oczywiście, samej strony internetowej.

Aby skonfigurować kontener Docker Cloudflare DDNS, będziesz potrzebować klucza API dla Cloudflare, który może zmieniać rekordy DNS dla konkretnej domeny, której będziesz używać, samej domeny oraz wszelkich subdomen, które chcesz utrzymywać aktualne. Wszystko to zostanie ustawione przez flagi środowiskowe w Dockerze, co ułatwi zmianę lub dodawanie nowych subdomen i domen w przyszłości.

Aby szybko wystartować, możesz odwiedzić stronę taką jak Jakie jest moje IP, aby znaleźć swoje publiczne IP. Wprowadź to IP do rekordu A domeny, której chcesz użyć dla swojej strony. Twój DDNS zaktualizuje to, jeśli domena się zmieni, ale ręczne wprowadzenie tego teraz przyspieszy wszystko w przyszłości.

Nginx Proxy Manager zaspokaja Twoje potrzeby reverse proxy

Pierwszym kontenerem Docker, który uruchomisz po DDNS, będzie Nginx Proxy Manager. Dzięki Nginx Proxy Manager będziesz mógł skierować napływający ruch do kontenera Docker swojej strony.

Nginx Proxy Manager to reverse proxy. Przekierowuje napływający ruch na portach :80 i :443 (połączenia nieosłonięte i SSL) i przesyła go w inne miejsce w sieci. Będziesz musiał skonfigurować zaporę sieciową, aby przekierować zewnętrzne porty 443 i 80 do tych, które są przypisane do Twojej instalacji Nginx Proxy Manager.

Gdy masz kontener Nginx Proxy Manager uruchomiony i przekierowane porty, czas na skonfigurowanie routingu. Zacznij od przejścia do sekcji hostów, a następnie kliknij dodaj nowego hosta. Pojawi się okno popup, w którym wpiszesz informacje dotyczące swojej strony. Wystarczy, że wpiszesz domenę, IP serwera i port, na którym będziesz uruchamiać stronę. Port może być dowolny, a zazwyczaj jest dyktowany przez oprogramowanie, które uruchamiasz.

Na przykład, mogłeś by mieć blog.domain.com kierujący do 192.168.1.6:2368, co byłoby IP Twojego serwera z portem Ghost na końcu. Kiedy ktoś odwiedza blog.domain.com, kieruje to do twojego publicznego IP, a następnie Nginx Proxy Manager kieruje to do właściwego kontenera.

Nginx Proxy Manager nie tylko obsługuje routing, ale także zajmuje się certyfikatami SSL poprzez Let's Encrypt. Te darmowe certyfikaty SSL mogą zapewnić spokojnego ducha tym, którzy przeglądają Twój blog, dodając dodatkową warstwę bezpieczeństwa.

sesja przeglądania. Cały proces SSL, od początku do końca, jest również bezproblemowy w Nginx Proxy Manager.

Gdy uda Ci się skonfigurować jeden reverse proxy, z łatwością stworzysz tyle, ile chcesz. Mam ponad 30 reverse proxy w mojej własnej sieci, dla usług takich jak Calibre Web, audiobookshelf, Tautulli, serwery Minecraft, serwer Satisfactory, serwer Ark Survival: Evolved i wiele więcej.

Ghost jest prostą platformą blogową, która jest łatwa w użyciu

Teraz, gdy prawie wszystko jest już skonfigurowane, czas zainstalować Ghost.

Mogłeś się spodziewać, że użyję WordPressa, ponieważ obsługuje on większość internetu. Chociaż WordPress jest świetny i korzystam z niego od ponad 15 lat, to tym razem używam Ghosta do prowadzenia swojego osobistego bloga. Jest lekki, łatwy w obsłudze i, szczerze mówiąc, po prostu prostszy niż WordPress.

Ghost jest zaprojektowany jako blog, który może również mieć komponent newslettera. Posty pisane są w markdown (moim ulubionym sposobem pisania), a także dostępnych jest kilka wtyczek do niektórych większych usług, takich jak Instagram, Discord, MailChimp, YouTube, Patreon i inne.

Aby uruchomić Ghosta, będziesz musiał wykonać kilka kroków. Zaczniemy w Nginx Proxy Manager. Utwórz nowego hosta proxy z nazwą swojej domeny w pierwszym polu, pozostaw schemat jako HTTP, następnie wpisz IP swojego serwera Docker, a później port 2368.

Zazwyczaj sprawdzam przełączniki dla pamięci podręcznej zasobów, blokowania powszechnych exploitów oraz wsparcia dla websockets. Przejdź do zakładki SSL, omijając zakładkę niestandardowych lokalizacji. Tutaj wybierz „Żądaj nowego certyfikatu SSL” i zaakceptuj warunki, a następnie wpisz swój adres e-mail. Kliknij „Zapisz”, a Twoje reverse proxy będzie skonfigurowane.

Teraz wróć do swojego hosta Docker. Osobiście używam Portainer jako interfejsu GUI dla Dockera, ale ponieważ wszystko jest robione przez Docker Compose, pliki konfiguracyjne są identyczne w obu przypadkach.

Jeśli chcesz użyć tego samego pliku Docker Compose, który ja wykorzystuję dla swojego bloga Ghost, to sprawdź mój repozytorium homelab na GitHubie. Upewnij się, że zmieniasz domenę na własną oraz hasło MySQL na coś bardziej bezpiecznego.

Gdy wdrożysz plik Docker Compose, Twój blog Ghost powinien być dostępny pod nową domeną!

Twoja strona jest żywa! Co dalej?

Jeśli wszystko zostało wykonane poprawnie, a ustawienia przekierowania portów na routerze skonfigurowano właściwie, powinieneś być w stanie przejść do swojej nazwy domeny, którą ustawiłeś, i uzyskać dostęp do instancji Ghosta z zewnątrz.

Teraz, gdy Twoja strona internetowa jest aktywna, co dalej? Cóż, warto zacząć od skonfigurowania bloga Ghost. Istnieje wiele filmów na YouTube i innych artykułów, które krok po kroku przeprowadzają Cię przez to, co należy zrobić. Ja sam jeszcze nie odkryłem wszystkich opcji konfiguracyjnych.

Na tym etapie Twoja strona jest dostępna w internecie i każdy może się do niej dostać. Może warto umieścić stronę startową, podczas gdy nad nią pracujesz, lub po prostu zostawić ją w takiej formie, gdy jest w budowie. Zacznij publikować posty na blogu, wysyłać newslettery e-mailowe i ciesz się prowadzeniem swojej osobistej strony internetowej na sprzęcie w Twoim domu, bez opłat za hosting!

Rozpoczęcie pełnoprawnego bloga może nie być dokładnie tym, czego szukasz. Jeśli to Ty, to mikroblogowanie może być tym, czego szukasz. Jest to nieco inne niż tradycyjne blogowanie i znacznie łatwiejsze do skonfigurowania, ponieważ zazwyczaj odbywa się na mediach społecznościowych, co oznacza, że nie ma potrzeby konfigurowania baz danych, DDNS czy reverse proxy, a często jest to darmowe!

Jeśli ciekawią Cię artykuły podobne do Jak hostować własną stronę internetową za pomocą Dockera i Nginx Proxy Manager, zajrzyj do kategorii Mac i odkryj jeszcze więcej interesujących treści.

Indeks
  1. Podsumowanie
  • Co potrzebujesz do uruchomienia osobistej strony internetowej?
  • Nginx Proxy Manager zaspokaja Twoje potrzeby reverse proxy
  • Ghost jest prostą platformą blogową, która jest łatwa w użyciu
  • Twoja strona jest żywa! Co dalej?
  • Możesz być zainteresowany

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

    Go up