Wstęp:
Statping to zaawansowana aplikacja self-hosted, umożliwiająca monitorowanie stabilności naszych serwerów. Do dyspozycji producent daje nam dodatkowo aplikacje na urządzenia mobilne a także możliwość ingerencji w CSS-a co pozwala dopasować naszą stronę pod nasz projekt / nasze widzimisię :nosacz:
Wymagania:
- Wirtualizacja KVM lub
klatkaLXCdla chomikaz odpalonym nestingiem - 1 vCPU
- 512 MB Ramu
- 10 GB Dysku
Instalacja:
-
Aktualizacja i instalacja curl-a (jeżeli nie masz zainstalowanego sudo wpisz
apt install sudo
):sudo apt update && sudo apt upgrade && sudo apt install curl
-
Instalacja dockera:
curl -fsSL https://get.docker.com/ | sh
-
Pobieranie i tworzenie kontenera z aplikacją Statping (po instalacji dostępne po
http://adres:8080
| pliki konfiguracyjne logi itd zapisują się w/home/statping
):docker run -d -p 8080:8080 -v /home/statping:/app --restart always --name=statping statping/statping
-
OPCJONALNIE Pobieranie i tworzenie kontenera z aplikacją Statping, przygotowane pod reverse proxy (po instalacji dostępne po
http://127.0.0.1:8080
| pliki konfiguracyjne logi itd zapisują się w/home/statping
):docker run -d -p 127.0.0.1:8080:8080 -v /home/statping:/app --restart always --name=statping statping/statping
Konfigurowanie:
Po wykonaniu komendy 3 wchodzimy pod http://adres_ip_lub_domena:8080 i rozpoczynamy wstępną konfigurację.
Uwaga przy konfiguracji możemy wybrać różne bazy danych, ja ze względu na wygodę wybrałem SQLite, jeżeli chcesz możesz wybrać inną :kappa:
Teraz czas na panel admina, przechodzimy na sam dół naszej strony i klikamy Dashboard a następnie logujemy się danymi ustalonymi przy wstępnej konfiguracji.
Po zalogowaniu naszym oczom ukazuje się dosyć prosty i przejrzysty interfejs, w którym możemy edytować lub dodać kolejne serwery do monitoringu; zarządzać użytkownikami; dodawać ogłoszenia dotyczące danych serwerów; zmieniać ustawienia samej aplikacji (np. podłączyć ją pod maila czy discorda w celu otrzymania powiadomień) jak i przeglądać logi :)
Konfiguracja reverse proxy i SSL (nginx):
Jeżeli chcesz wybrać instalację nr 4 musisz na początku ustawić rev proxy a także dla przyzwoitości wygenerować darmowego SSl-a :nosacz: od Let's Encrypt-a.
Instalujemy nginxa: sudo apt install nginx
Tworzymy vhosta z proxy passem w katalogu /etc/nginx/sites-available
server { listen 80; listen [::]:80; access_log /var/log/nginx/przykladowa_domena.access.log; error_log /var/log/nginx/przykladowa_domena.error.log; server_name przykladowa_domena.pl; location / { proxy_pass http://127.0.0.1:8080; } }
Włączamy naszego vhosta: ln -s /etc/nginx/sites-available/nasza_konfiguracja /etc/nginx/sites-enabled/nasza_konfiguracja
Restartujemy nginxa: service nginx restart
Instalujemy certbota (Debian 10):
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
sudo apt install python3-certbot-nginx
Instalujemy certbota (Ubuntu 20.04):
sudo apt install certbot python3-certbot-nginx
Generujemy certyfikat: sudo certbot --nginx -d nasza_domena
Autostart naszego kontenera:
Żeby Statping startował razem z systemem musimy dodać do crontaba jedną linijkę:
Otwieramy naszego crona: crontab -e
Na samym dole dodajemy: @reboot docker start statping