hosts_app/README.md
Mateusz Gruszczyński e9f53c88e2 update readme
2025-02-25 11:05:08 +01:00

92 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/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