101 lines
2.4 KiB
Markdown
101 lines
2.4 KiB
Markdown
# RouterOS Backup Manager
|
|
|
|
RouterOS Backup Manager to aplikacja Flask umożliwiająca zarządzanie kopiami zapasowymi urządzeń Mikrotik RouterOS. Aplikacja pozwala na eksport konfiguracji, tworzenie backupów binarnych, ich przechowywanie, porównywanie oraz przywracanie.
|
|
|
|
## 🔧 Instalacja
|
|
|
|
### 1. Klonowanie repozytorium
|
|
```sh
|
|
git clone https://gitea.linuxiarz.pl/gru/routeros_backup.git
|
|
cd routeros_backup
|
|
```
|
|
|
|
### 2. Tworzenie i aktywacja środowiska wirtualnego (opcjonalnie)
|
|
```sh
|
|
python3 -m venv venv
|
|
source venv/bin/activate # Linux/macOS
|
|
venv\Scripts\activate # Windows
|
|
```
|
|
|
|
### 3. Instalacja zależności
|
|
```sh
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 4. Uruchomienie aplikacji lokalnie
|
|
```sh
|
|
python run_waitress.py
|
|
```
|
|
Aplikacja będzie dostępna pod adresem: `http://127.0.0.1:5581/`
|
|
|
|
---
|
|
|
|
## 📦 Uruchamianie w Dockerze
|
|
|
|
1. **Zbudowanie obrazu Docker**
|
|
```sh
|
|
docker-compose build
|
|
```
|
|
|
|
2. **Uruchomienie kontenera**
|
|
```sh
|
|
docker-compose up -d
|
|
```
|
|
Aplikacja uruchomi się na porcie `5581`.
|
|
|
|
---
|
|
|
|
## 📚 Funkcjonalności
|
|
|
|
- 🔐 System użytkowników (rejestracja, logowanie, zmiana hasła)
|
|
- 📡 Połączenie SSH do routerów MikroTik
|
|
- 🛠 Eksport konfiguracji i tworzenie backupów binarnych
|
|
- 🕵️♂️ Porównywanie backupów (`diff`)
|
|
- 📩 Powiadomienia e-mail oraz Pushover
|
|
- 📅 Harmonogram automatycznych backupów (APScheduler)
|
|
- 🧹 Automatyczne czyszczenie starych backupów i logów
|
|
- 🚀 Obsługa przez interfejs webowy
|
|
|
|
---
|
|
|
|
## ⚙️ Konfiguracja
|
|
|
|
### Zmiana ustawień
|
|
Plik `app.py` zawiera konfigurację bazy danych oraz inne ustawienia aplikacji:
|
|
|
|
```python
|
|
app.config['SECRET_KEY'] = 'super-secret-key'
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///backup_routeros.db'
|
|
```
|
|
|
|
### 📬 Konfiguracja SMTP (E-mail)
|
|
Aby skonfigurować powiadomienia e-mail, wprowadź dane w sekcji ustawień:
|
|
|
|
- Serwer SMTP
|
|
- Login/hasło SMTP
|
|
- Port (587 dla TLS, 465 dla SSL)
|
|
|
|
### 📲 Powiadomienia Pushover
|
|
Aby włączyć powiadomienia Pushover, uzupełnij `pushover_token` oraz `pushover_userkey` w ustawieniach.
|
|
|
|
---
|
|
|
|
## 🔍 API & Health Check
|
|
Aplikacja zawiera endpoint `/health`, który zwraca status bazy danych:
|
|
|
|
```sh
|
|
curl http://127.0.0.1:5581/health
|
|
```
|
|
|
|
Przykładowa odpowiedź:
|
|
```json
|
|
{
|
|
"status": "ok",
|
|
"timestamp": "2024-02-26T12:34:56Z"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 🚀 Autor i licencja
|
|
Projekt stworzony przez Mateusz Grusczyński @linuxiarz.pl - dostępny na licencji MIT. |