first commit
This commit is contained in:
79
README.md
79
README.md
@@ -1,84 +1,14 @@
|
|||||||
# RouterOS Backup Manager Next
|
# 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
|
## Produkcja w Dockerze
|
||||||
```bash
|
```bash
|
||||||
cp .env.example .env
|
cp .env.example .env
|
||||||
# uzupełnij SECRET_KEY i DEFAULT_ADMIN_PASSWORD
|
# uzupełnij SECRET_KEY i DEFAULT_ADMIN_PASSWORD
|
||||||
./start_prod.sh
|
./start_prod.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Domyślnie frontend będzie dostępny na:
|
Domyślnie frontend będzie dostępny na:
|
||||||
- `http://127.0.0.1:8080`
|
- `http://127.0.0.1:5580`
|
||||||
|
|
||||||
## 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
|
## Migracja starej bazy Flask/SQLite
|
||||||
Jeżeli masz starą bazę `backup_routeros.db`, możesz zaimportować dane:
|
Jeżeli masz starą bazę `backup_routeros.db`, możesz zaimportować dane:
|
||||||
@@ -86,10 +16,3 @@ Jeżeli masz starą bazę `backup_routeros.db`, możesz zaimportować dane:
|
|||||||
cd backend
|
cd backend
|
||||||
PYTHONPATH=. python scripts/migrate_legacy_sqlite.py /sciezka/do/backup_routeros.db
|
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
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user