This repository has been archived on 2026-04-14. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
routeros_backup_next/README.md
Mateusz Gruszczyński ff7dbcb4e4 first commit
2026-04-12 21:26:12 +02:00

96 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RouterOS Backup Manager Next
Refactor starej aplikacji Flask/Bootstrap do architektury:
- **backend:** FastAPI + SQLAlchemy + APScheduler
- **frontend:** Angular + PrimeNG + ngx-translate
- **dev:** lokalnie bez Dockera
- **prod:** Docker Compose + Nginx + FastAPI
## Co poprawiono względem poprzedniej iteracji
- usunięte bezpośrednie wywołanie `uvicorn` ze skryptów startowych
- zależności backendu zaktualizowane pod nowszy FastAPI/Pydantic i Python 3.14
- dev frontend domyślnie startuje na `127.0.0.1`, więc znika ostrzeżenie o otwartym `0.0.0.0`
- dodane środowisko produkcyjne: `Dockerfile`, `docker-compose.yml`, nginx proxy
- dodane `.env.example`, `.gitignore`, `.dockerignore`, `start_prod.sh`
- dodane brakujące ekrany: rejestracja, zmiana hasła
- frontend przebudowany wizualnie w kierunku **Avalon-inspired PrimeNG admin shell**
- wydzielone wspólne komponenty UI: `app-topbar`, `app-sidebar`, `app-page-header`, `app-stat-card`, `app-section-card`
- dodane brakujące operacje UI: edycja/usuwanie routera, export-all, binary-all, filtry i sortowanie plików
- dodany HTML diff side-by-side
- dodany migrator starej bazy SQLite
- przywrócona automatyczna retencja logów
## Struktura
- `backend/` FastAPI API
- `frontend/` Angular UI
- `backend/scripts/migrate_legacy_sqlite.py` migracja danych ze starej SQLite
- `start_dev.sh` start lokalny bez Dockera
- `start_prod.sh` start produkcyjny przez Docker Compose
- `.env.example` konfiguracja Docker/produkcyjna
- `backend/.env.dev.example` konfiguracja lokalna dla deweloperki bez Dockera
- `FEATURE_AUDIT.md` porównanie starej i nowej wersji funkcjonalnie
## Dev bez Dockera
Wymagania:
- Python 3.13 lub 3.14
- Node.js 22+
- npm
Start:
```bash
cp backend/.env.dev.example backend/.env
./start_dev.sh
```
Adresy:
- backend: `http://127.0.0.1:8000`
- docs: `http://127.0.0.1:8000/docs`
- frontend: `http://127.0.0.1:4200`
Dla wystawienia UI w LAN użyj:
```bash
cd frontend
npm run start:lan
```
Domyślne konto po pierwszym starcie:
- login: `admin`
- hasło: `admin`
## Produkcja w Dockerze
```bash
cp .env.example .env
# uzupełnij SECRET_KEY i DEFAULT_ADMIN_PASSWORD
./start_prod.sh
```
Domyślnie frontend będzie dostępny na:
- `http://127.0.0.1:8080`
## Konfiguracja środowisk
### Docker / produkcja (`.env` w katalogu głównym)
Najważniejsze zmienne:
- `SECRET_KEY`
- `DATABASE_URL`
- `DATA_DIR`
- `ALLOW_REGISTRATION`
- `DEFAULT_ADMIN_USERNAME`
- `DEFAULT_ADMIN_PASSWORD`
- `CORS_ORIGINS`
- `FRONTEND_PORT`
## Migracja starej bazy Flask/SQLite
Jeżeli masz starą bazę `backup_routeros.db`, możesz zaimportować dane:
```bash
cd backend
PYTHONPATH=. python scripts/migrate_legacy_sqlite.py /sciezka/do/backup_routeros.db
```
### Dev bez Dockera (`backend/.env`)
Lokalny backend korzysta z `backend/.env`. Najprościej zacząć od:
```bash
cp backend/.env.dev.example backend/.env
```