readme
This commit is contained in:
parent
02858f7b7a
commit
d5c8aedfd4
141
README.md
141
README.md
@ -4,129 +4,116 @@ RouterOS Update & Changelog Dashboard to aplikacja webowa oparta na Flask, któr
|
|||||||
|
|
||||||
## Funkcjonalności
|
## Funkcjonalności
|
||||||
|
|
||||||
- **Pobieranie i prezentacja changelogów**
|
### Pobieranie i prezentacja changelogów
|
||||||
- Automatyczne pobieranie changelogów z witryny MikroTik.
|
- Automatyczne pobieranie changelogów z witryny MikroTik.
|
||||||
- Filtrowanie i zapisywanie wpisów tylko dla wersji 6.x i 7.x.
|
- Filtrowanie i zapisywanie wpisów tylko dla wersji 6.x i 7.x.
|
||||||
- Podział changelogów według kanałów wydania: stable, rc, beta.
|
- 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.
|
- 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.
|
- Prezentacja changelogów z wykorzystaniem Prism.js z obsługą trybu ciemnego/jasnego.
|
||||||
|
|
||||||
- **Zarządzanie urządzeniami**
|
### Zarządzanie urządzeniami
|
||||||
- Dodawanie, edycja i monitorowanie urządzeń MikroTik.
|
- Dodawanie, edycja i monitorowanie urządzeń MikroTik.
|
||||||
- Sprawdzanie aktualizacji oprogramowania na urządzeniach.
|
- Sprawdzanie aktualizacji oprogramowania na urządzeniach.
|
||||||
- Rejestrowanie logów i historii aktualizacji.
|
- Rejestrowanie logów i historii aktualizacji.
|
||||||
|
|
||||||
- **Dashboard**
|
### Dashboard
|
||||||
- Wyświetlanie liczby urządzeń, logów, urządzeń wymagających aktualizacji oraz wykonanych aktualizacji.
|
- 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.
|
- Prezentacja najnowszych wersji systemu (RouterOS 7.x i 6.x) z opcją szybkiego przejścia do szczegółowego changeloga.
|
||||||
- Lista ostatnich zdarzeń z systemu.
|
- Lista ostatnich zdarzeń z systemu.
|
||||||
|
|
||||||
- **Powiadomienia**
|
### Powiadomienia
|
||||||
- Wysyłanie powiadomień za pomocą Pushover i e-mail, gdy dostępne są nowe aktualizacje.
|
- Wysyłanie powiadomień za pomocą Pushover i e-mail, gdy dostępne są nowe aktualizacje.
|
||||||
- Wbudowana detekcja anomalii na podstawie logów.
|
- Wbudowana detekcja anomalii na podstawie logów.
|
||||||
|
|
||||||
- **Planowanie zadań**
|
### Planowanie zadań
|
||||||
- Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler.
|
- Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler.
|
||||||
|
|
||||||
## Technologie
|
## Technologie
|
||||||
|
|
||||||
- **Flask** – framework webowy.
|
- **Flask** – framework webowy.
|
||||||
- **SQLAlchemy** – ORM do zarządzania bazą danych.
|
- **SQLAlchemy** – ORM do zarządzania bazą danych.
|
||||||
- **Flask-Login** – uwierzytelnianie użytkowników.
|
- **Flask-Login** – uwierzytelnianie użytkowników.
|
||||||
- **APScheduler** – planowanie zadań w tle.
|
- **APScheduler** – planowanie zadań w tle.
|
||||||
- **BeautifulSoup** – parsowanie HTML do pobierania changelogów.
|
- **BeautifulSoup** – parsowanie HTML do pobierania changelogów.
|
||||||
- **Prism.js** – prezentacja i podświetlanie składni (z trybem ciemnym/jasnym).
|
- **Prism.js** – prezentacja i podświetlanie składni (z trybem ciemnym/jasnym).
|
||||||
- **Bootstrap 5** – responsywny interfejs użytkownika.
|
- **Bootstrap 5** – responsywny interfejs użytkownika.
|
||||||
|
|
||||||
## Instalacja
|
## Instalacja
|
||||||
|
|
||||||
1. **Klonowanie repozytorium:**
|
### Klonowanie repozytorium
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/TwojeRepozytorium/routeros-update.git
|
git clone https://github.com/TwojeRepozytorium/routeros-update.git
|
||||||
cd routeros-update
|
cd routeros-update
|
||||||
|
```
|
||||||
|
|
||||||
2. Utworzenie środowiska wirtualnego i instalacja zależności:
|
### Utworzenie środowiska wirtualnego i instalacja zależności
|
||||||
|
|
||||||
``` python3 -m venv venv
|
```bash
|
||||||
source venv/bin/activate # Na Windows: venv\Scripts\activate
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate # Na Windows: venv\Scriptsctivate
|
||||||
pip install -r requirements.txt
|
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ę:
|
Domyślnie aplikacja używa SQLite. Uruchom aplikację lub użyj Flask shell, aby utworzyć bazę:
|
||||||
```
|
|
||||||
|
```bash
|
||||||
flask shell
|
flask shell
|
||||||
>>> from app import db
|
>>> from app import db
|
||||||
>>> db.create_all()
|
>>> db.create_all()
|
||||||
|
```
|
||||||
|
|
||||||
## Konfiguracja
|
## Konfiguracja
|
||||||
|
|
||||||
1. :**Plik konfiguracyjny::**
|
### Plik konfiguracyjny
|
||||||
W pliku app.py ustaw odpowiednią wartość dla SECRET_KEY oraz, jeśli potrzebujesz, zmodyfikuj SQLALCHEMY_DATABASE_URI.
|
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ń.
|
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.
|
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
|
||||||
```bash
|
python app.py
|
||||||
git clone https://github.com/TwojeRepozytorium/routeros-update.git
|
```
|
||||||
cd routeros-update
|
|
||||||
|
|
||||||
**Klonowanie repozytorium:**
|
Aplikacja będzie dostępna pod adresem: `http://0.0.0.0:5582`
|
||||||
|
|
||||||
```python3 -m venv venv
|
### Uruchomienie w Dockerze
|
||||||
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
|
|
||||||
|
|
||||||
Aplikację można uruchomić w kontenerze Docker (lub Podman). W repozytorium znajdują się następujące pliki:
|
Aplikację można uruchomić w kontenerze Docker (lub Podman). W repozytorium znajdują się następujące pliki:
|
||||||
|
|
||||||
1. Dockerfile – definicja obrazu aplikacji.
|
- `Dockerfile` – definicja obrazu aplikacji.
|
||||||
2. docker-compose.yml – konfiguracja kontenera.
|
- `docker-compose.yml` – konfiguracja kontenera.
|
||||||
3. start.sh – skrypt uruchamiający kontenery (wybiera podman-compose, jeśli dostępny, lub docker-compose).
|
- `start.sh` – skrypt uruchamiający kontenery (wybiera `podman-compose`, jeśli dostępny, lub `docker-compose`).
|
||||||
|
|
||||||
Aby uruchomić aplikację w Dockerze, wykonaj:
|
Aby uruchomić aplikację w Dockerze, wykonaj:
|
||||||
|
|
||||||
```./start.sh
|
```bash
|
||||||
|
./start.sh
|
||||||
|
```
|
||||||
|
|
||||||
Skrypt zatrzyma i usunie poprzednie kontenery, odbuduje obraz i uruchomi aplikację w tle.
|
Skrypt zatrzyma i usunie poprzednie kontenery, odbuduje obraz i uruchomi aplikację w tle.
|
||||||
|
|
||||||
## Użytkowanie
|
## Użytkowanie
|
||||||
|
|
||||||
1. Dashboard:
|
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).
|
||||||
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.
|
||||||
2. Zarządzanie urządzeniami:
|
4. **Aktualizacja changelogów**: Użyj przycisku "Aktualizuj changelogi" na stronie changelogów, aby ręcznie pobrać wszystkie nowe wpisy.
|
||||||
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).
|
|
||||||
|
|
||||||
## Wkład i rozwój
|
## Wkład i rozwój
|
||||||
|
|
||||||
Zapraszam do zgłaszania poprawek i propozycji rozwoju. Aby wnieść swój wkład:
|
Zapraszam do zgłaszania poprawek i propozycji rozwoju.
|
||||||
|
|
||||||
1. Forkuj repozytorium.
|
|
||||||
2. Wprowadź zmiany.
|
|
||||||
3. Otwórz pull request.
|
|
||||||
|
|
||||||
## Licencja
|
## Licencja
|
||||||
Projekt jest dostępny na licencji MIT.
|
Projekt jest dostępny na licencji MIT.
|
Loading…
x
Reference in New Issue
Block a user