2026-01-14 08:54:37 +01:00
2025-02-23 00:24:42 +01:00
2025-09-22 08:34:19 +02:00
2025-09-22 08:59:48 +02:00
2025-09-22 08:27:41 +02:00
2026-01-14 08:54:37 +01:00
2025-09-22 08:27:41 +02:00
2025-02-26 08:10:56 +01:00

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

git clone https://gitea.linuxiarz.pl/gru/routeros_backup.git
cd routeros_backup

2. Tworzenie i aktywacja środowiska wirtualnego (opcjonalnie)

python3 -m venv venv
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate  # Windows

3. Instalacja zależności

pip install -r requirements.txt

4. Uruchomienie aplikacji lokalnie

python run_waitress.py

Aplikacja będzie dostępna pod adresem: http://127.0.0.1:5581/


Uruchamianie w Dockerze

  1. Zbudowanie obrazu Docker
docker-compose build
  1. Uruchomienie kontenera
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:

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:

curl http://127.0.0.1:5581/health

Przykładowa odpowiedź:

{
  "status": "ok",
  "timestamp": "2024-02-26T12:34:56Z"
}

Autor i licencja

Projekt stworzony przez Mateusz Gruszczyński @linuxiarz.pl - dostępny na licencji MIT.

Description
No description provided
Readme 537 KiB
Languages
HTML 53.4%
Python 46.1%
Shell 0.4%
Dockerfile 0.1%