/etc/hosts Manager to aplikacja webowa do zarządzania plikami hosts na zdalnych serwerach, napisana przy użyciu Flask, SQLAlchemy oraz APScheduler. Aplikacja umożliwia dodawanie, edycję, usuwanie hostów, import/eksport konfiguracji, tworzenie backupów oraz automatyczne wdrażanie zmian. Wymagania --------- - Python 3.7 lub nowszy - Pakiety: - Flask - Flask-SQLAlchemy - APScheduler - paramiko - waitress Możesz zainstalować wszystkie zależności za pomocą polecenia: pip install -r requirements.txt Przykładowa zawartość pliku requirements.txt: ----------------------------------------------- Flask Flask-SQLAlchemy APScheduler paramiko waitress Uruchamianie Aplikacji ---------------------- Tryb developerski ----------------- Aplikację można uruchomić lokalnie, korzystając z wbudowanego serwera Flask: python app.py Aplikacja będzie dostępna domyślnie pod adresem: http://0.0.0.0:5580 Uruchomienie z Waitress ----------------------- Aby uruchomić aplikację w trybie produkcyjnym przy użyciu serwera Waitress, użyj pliku run_waitress.py: python run_waitress.py Aplikacja będzie dostępna pod adresem: http://0.0.0.0:5580 - Port: 5580 - Liczba wątków: 4 Harmonogramy ------------ Aplikacja wykorzystuje APScheduler do automatycznych zadań: - Automatyczne wdrożenia co 5 minut (jeśli włączone w ustawieniach użytkownika). - Automatyczne tworzenie backupów co 60 minut. - Czyszczenie starych backupów co 24 godziny. Harmonogramy działają w tle w ramach kontekstu aplikacji i są uruchamiane przy starcie aplikacji. Struktura Katalogów ------------------- - app.py – główny plik aplikacji Flask. - run_waitress.py – plik do uruchamiania aplikacji z serwerem Waitress. - templates/ – katalog z szablonami HTML. Dodatkowe Informacje -------------------- - Aplikacja ukrywa nagłówki serwera dzięki ustawieniom w app.py. - Interfejs został zmodernizowany przy użyciu Bootstrapa 5, z możliwością przełączania trybu jasnego i ciemnego. - Tooltipy są używane do dynamicznego wyświetlania rozwiązywanych nazw hostów przy najechaniu myszką. - Automatyczne zadania i harmonogramy działają w tle, dzięki czemu aplikacja wykonuje regularne wdrożenia i backupy. Instalacja środowiska wirtualnego (venv) ----------------------------------------- Aby utworzyć środowisko wirtualne w Pythonie, wykonaj poniższe kroki: 1. Utwórz środowisko: python -m venv venv 2. Aktywuj środowisko: - W systemach Unix/Linux/macOS: source venv/bin/activate - W systemie Windows: venv\Scripts\activate 3. Zainstaluj wymagane pakiety: pip install -r requirements.txt Kontakt ------- @linuxiarz.pl