92 lines
2.7 KiB
Markdown
92 lines
2.7 KiB
Markdown
/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
|