This commit is contained in:
Mateusz Gruszczyński 2025-02-26 14:41:40 +01:00
parent 02858f7b7a
commit d5c8aedfd4

View File

@ -4,28 +4,28 @@ RouterOS Update & Changelog Dashboard to aplikacja webowa oparta na Flask, któr
## Funkcjonalności
- **Pobieranie i prezentacja changelogów**
### 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.
- 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**
### Zarządzanie urządzeniami
- Dodawanie, edycja i monitorowanie urządzeń MikroTik.
- Sprawdzanie aktualizacji oprogramowania na urządzeniach.
- Rejestrowanie logów i historii aktualizacji.
- **Dashboard**
### 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**
### 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ń**
### Planowanie zadań
- Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler.
## Technologie
@ -40,93 +40,80 @@ RouterOS Update & Changelog Dashboard to aplikacja webowa oparta na Flask, któr
## Instalacja
1. **Klonowanie repozytorium:**
### Klonowanie repozytorium
```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
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.