From d5c8aedfd46835bb50a96acca2163aa7d83398a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Gruszczy=C5=84ski?= Date: Wed, 26 Feb 2025 14:41:40 +0100 Subject: [PATCH] readme --- README.md | 141 +++++++++++++++++++++++++----------------------------- 1 file changed, 64 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index f6bb214..5e33506 100644 --- a/README.md +++ b/README.md @@ -4,129 +4,116 @@ RouterOS Update & Changelog Dashboard to aplikacja webowa oparta na Flask, któr ## Funkcjonalności -- **Pobieranie i prezentacja changelogów** - - Automatyczne pobieranie changelogów z witryny MikroTik. - - Filtrowanie i zapisywanie wpisów tylko dla wersji 6.x i 7.x. - - Podział changelogów według kanałów wydania: stable, rc, beta. - - Formatowanie wersji (np. „7.182025” jest wyświetlane jako „7.18”) wraz z datą wydania. - - Prezentacja changelogów z wykorzystaniem Prism.js z obsługą trybu ciemnego/jasnego. +### Pobieranie i prezentacja changelogów +- Automatyczne pobieranie changelogów z witryny MikroTik. +- Filtrowanie i zapisywanie wpisów tylko dla wersji 6.x i 7.x. +- Podział changelogów według kanałów wydania: stable, rc, beta. +- Formatowanie wersji (np. "7.182025" jest wyświetlane jako "7.18") wraz z datą wydania. +- Prezentacja changelogów z wykorzystaniem Prism.js z obsługą trybu ciemnego/jasnego. -- **Zarządzanie urządzeniami** - - Dodawanie, edycja i monitorowanie urządzeń MikroTik. - - Sprawdzanie aktualizacji oprogramowania na urządzeniach. - - Rejestrowanie logów i historii aktualizacji. +### Zarządzanie urządzeniami +- Dodawanie, edycja i monitorowanie urządzeń MikroTik. +- Sprawdzanie aktualizacji oprogramowania na urządzeniach. +- Rejestrowanie logów i historii aktualizacji. -- **Dashboard** - - Wyświetlanie liczby urządzeń, logów, urządzeń wymagających aktualizacji oraz wykonanych aktualizacji. - - Prezentacja najnowszych wersji systemu (RouterOS 7.x i 6.x) z opcją szybkiego przejścia do szczegółowego changeloga. - - Lista ostatnich zdarzeń z systemu. +### Dashboard +- Wyświetlanie liczby urządzeń, logów, urządzeń wymagających aktualizacji oraz wykonanych aktualizacji. +- Prezentacja najnowszych wersji systemu (RouterOS 7.x i 6.x) z opcją szybkiego przejścia do szczegółowego changeloga. +- Lista ostatnich zdarzeń z systemu. -- **Powiadomienia** - - Wysyłanie powiadomień za pomocą Pushover i e-mail, gdy dostępne są nowe aktualizacje. - - Wbudowana detekcja anomalii na podstawie logów. +### Powiadomienia +- Wysyłanie powiadomień za pomocą Pushover i e-mail, gdy dostępne są nowe aktualizacje. +- Wbudowana detekcja anomalii na podstawie logów. -- **Planowanie zadań** - - Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler. +### Planowanie zadań +- Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler. ## Technologie -- **Flask** – framework webowy. -- **SQLAlchemy** – ORM do zarządzania bazą danych. -- **Flask-Login** – uwierzytelnianie użytkowników. -- **APScheduler** – planowanie zadań w tle. -- **BeautifulSoup** – parsowanie HTML do pobierania changelogów. -- **Prism.js** – prezentacja i podświetlanie składni (z trybem ciemnym/jasnym). -- **Bootstrap 5** – responsywny interfejs użytkownika. +- **Flask** – framework webowy. +- **SQLAlchemy** – ORM do zarządzania bazą danych. +- **Flask-Login** – uwierzytelnianie użytkowników. +- **APScheduler** – planowanie zadań w tle. +- **BeautifulSoup** – parsowanie HTML do pobierania changelogów. +- **Prism.js** – prezentacja i podświetlanie składni (z trybem ciemnym/jasnym). +- **Bootstrap 5** – responsywny interfejs użytkownika. ## Instalacja -1. **Klonowanie repozytorium:** +### Klonowanie repozytorium - ```bash - git clone https://github.com/TwojeRepozytorium/routeros-update.git - cd routeros-update +```bash + git clone https://github.com/TwojeRepozytorium/routeros-update.git + cd routeros-update +``` -2. Utworzenie środowiska wirtualnego i instalacja zależności: +### Utworzenie środowiska wirtualnego i instalacja zależności -``` python3 -m venv venv -source venv/bin/activate # Na Windows: venv\Scripts\activate +```bash +python3 -m venv venv +source venv/bin/activate # Na Windows: venv\Scriptsctivate pip install -r requirements.txt +``` -3. Inicjalizacja bazy danych: (nie jest to potrzebne, tylko przy aktualizacji) +### Inicjalizacja bazy danych + +> *Nie jest to wymagane, chyba że przeprowadzasz aktualizację.* Domyślnie aplikacja używa SQLite. Uruchom aplikację lub użyj Flask shell, aby utworzyć bazę: -``` + +```bash flask shell >>> from app import db >>> db.create_all() +``` ## Konfiguracja -1. :**Plik konfiguracyjny::** -W pliku app.py ustaw odpowiednią wartość dla SECRET_KEY oraz, jeśli potrzebujesz, zmodyfikuj SQLALCHEMY_DATABASE_URI. +### Plik konfiguracyjny +W pliku `app.py` ustaw odpowiednią wartość dla `SECRET_KEY` oraz, jeśli potrzebujesz, zmodyfikuj `SQLALCHEMY_DATABASE_URI`. -2. :**Powiadomienia::** +### Powiadomienia Po rejestracji użytkownika skonfiguruj ustawienia powiadomień (Pushover, SMTP) w sekcji ustawień. -3. :**Tryb ciemny/jasny::** +### Tryb ciemny/jasny Globalny przełącznik trybu (w menu) umożliwia zmianę wyglądu całej aplikacji, w tym motywu Prism.js wykorzystywanego do prezentacji changelogów. -## Instalacja +## Uruchomienie aplikacji -# Lokalnie +### Lokalnie -1. **Klonowanie repozytorium:** - ```bash - git clone https://github.com/TwojeRepozytorium/routeros-update.git - cd routeros-update +```bash +python app.py +``` -**Klonowanie repozytorium:** +Aplikacja będzie dostępna pod adresem: `http://0.0.0.0:5582` -```python3 -m venv venv -source venv/bin/activate # Na Windows: venv\Scripts\activate -pip install -r requirements.txt - -3. **Uruchomienie aplikacji:** - -```python app.py - -Aplikacja będzie dostępna pod adresem: http://0.0.0.0:5582 - -# Uruchomienie w Dockerze +### Uruchomienie w Dockerze Aplikację można uruchomić w kontenerze Docker (lub Podman). W repozytorium znajdują się następujące pliki: -1. Dockerfile – definicja obrazu aplikacji. -2. docker-compose.yml – konfiguracja kontenera. -3. start.sh – skrypt uruchamiający kontenery (wybiera podman-compose, jeśli dostępny, lub docker-compose). +- `Dockerfile` – definicja obrazu aplikacji. +- `docker-compose.yml` – konfiguracja kontenera. +- `start.sh` – skrypt uruchamiający kontenery (wybiera `podman-compose`, jeśli dostępny, lub `docker-compose`). Aby uruchomić aplikację w Dockerze, wykonaj: -```./start.sh +```bash +./start.sh +``` Skrypt zatrzyma i usunie poprzednie kontenery, odbuduje obraz i uruchomi aplikację w tle. ## Użytkowanie -1. Dashboard: -Na stronie głównej dashboardu możesz zobaczyć statystyki urządzeń, liczbę logów, urządzeń wymagających aktualizacji, historię aktualizacji oraz najnowsze wersje systemu (dla RouterOS 7.x i 6.x). - -2. Zarządzanie urządzeniami: -Dodawaj i edytuj urządzenia, a także sprawdzaj ich aktualizacje i logi. - -3. Changelog: -Przeglądaj changelogi z podziałem na kanały wydania (stable, rc, beta) oraz serie wersji (7.x i 6.x). Możesz wybrać konkretny changelog z listy lub wyświetlić najnowszy wpis. - -4. Aktualizacja changelogów: -Użyj przycisku "Aktualizuj changelogi" na stronie changelogów, aby ręcznie pobrać wszystkie nowe wpisy (operacja usunie stare wpisy z bazy). +1. **Dashboard**: Na stronie głównej dashboardu możesz zobaczyć statystyki urządzeń, liczbę logów, urządzeń wymagających aktualizacji, historię aktualizacji oraz najnowsze wersje systemu (dla RouterOS 7.x i 6.x). +2. **Zarządzanie urządzeniami**: Dodawaj i edytuj urządzenia, a także sprawdzaj ich aktualizacje i logi. +3. **Changelog**: Przeglądaj changelogi z podziałem na kanały wydania (stable, rc, beta) oraz serie wersji (7.x i 6.x). Możesz wybrać konkretny changelog z listy lub wyświetlić najnowszy wpis. +4. **Aktualizacja changelogów**: Użyj przycisku "Aktualizuj changelogi" na stronie changelogów, aby ręcznie pobrać wszystkie nowe wpisy. ## Wkład i rozwój -Zapraszam do zgłaszania poprawek i propozycji rozwoju. Aby wnieść swój wkład: - -1. Forkuj repozytorium. -2. Wprowadź zmiany. -3. Otwórz pull request. +Zapraszam do zgłaszania poprawek i propozycji rozwoju. ## Licencja Projekt jest dostępny na licencji MIT. \ No newline at end of file