first commit
This commit is contained in:
79
README.md
79
README.md
@@ -1,84 +1,14 @@
|
||||
# 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`
|
||||
- `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
|
||||
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
|
||||
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