refactor
This commit is contained in:
99
README.md
99
README.md
@@ -1,21 +1,92 @@
|
||||
# RouterOS backup system
|
||||
/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.
|
||||
|
||||
# Instalation:
|
||||
- clone (to ex. /opt/hosts_app)
|
||||
- create venv
|
||||
- install requirements via pip
|
||||
- copy systemd service (hosts_app.service)
|
||||
Wymagania
|
||||
---------
|
||||
- Python 3.7 lub nowszy
|
||||
- Pakiety:
|
||||
- Flask
|
||||
- Flask-SQLAlchemy
|
||||
- APScheduler
|
||||
- paramiko
|
||||
- waitress
|
||||
|
||||
# Start
|
||||
- edit gunicorn_config.py and set listen IP
|
||||
- systemctl start hosts_app.service
|
||||
- go to http://IPADDRESS:8888
|
||||
Możesz zainstalować wszystkie zależności za pomocą polecenia:
|
||||
|
||||
# Register, Login
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Configure devices, /etc/hosts
|
||||
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:
|
||||
|
||||
# Authors
|
||||
python app.py
|
||||
|
||||
- [@linuxiarz.pl]
|
||||
Aplikacja będzie dostępna domyślnie pod adresem: http://0.0.0.0:8888
|
||||
|
||||
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.
|
||||
- static/ – katalog na zasoby statyczne (CSS, JS, obrazy).
|
||||
|
||||
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
|
||||
|
Reference in New Issue
Block a user