2025-03-11 09:21:33 +01:00
2025-03-10 23:32:59 +01:00
2025-03-11 09:18:54 +01:00
2025-02-24 23:08:03 +01:00
2025-03-09 00:03:29 +01:00
2025-03-10 23:32:59 +01:00
2025-03-11 09:21:33 +01:00
2025-02-24 23:11:29 +01:00
2025-02-25 11:05:08 +01:00
2025-03-06 10:38:12 +01:00

/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

Description
No description provided
Readme 930 KiB
Languages
HTML 63%
Python 36.1%
CSS 0.9%