docs: reorganize project documentation
This commit is contained in:
83
docs/deployment.md
Normal file
83
docs/deployment.md
Normal file
@@ -0,0 +1,83 @@
|
||||
# Wdrożenie i Uruchamianie
|
||||
|
||||
## Lokalnie
|
||||
|
||||
Wymagany jest Node.js 20.9 lub nowszy.
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Domyślny adres lokalny:
|
||||
|
||||
```text
|
||||
http://localhost:3000
|
||||
```
|
||||
|
||||
## Build Produkcyjny
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
npm run start
|
||||
```
|
||||
|
||||
`npm run build` uruchamia build Next.js oraz kontrolę TypeScript wykonywaną przez Next.js.
|
||||
|
||||
## Self-Hosting z Workerem Powiadomień
|
||||
|
||||
Worker powiadomień musi działać obok uruchomionej aplikacji:
|
||||
|
||||
```bash
|
||||
npm run start
|
||||
npm run notifications:worker
|
||||
```
|
||||
|
||||
Jeśli aplikacja działa na innym porcie, ustaw `WTR_APP_URL`:
|
||||
|
||||
```bash
|
||||
WTR_APP_URL=http://127.0.0.1:4000 npm run notifications:worker
|
||||
```
|
||||
|
||||
Worker sam wczytuje `.env` i `.env.local`, ale zmienne ustawione w shellu mają pierwszeństwo.
|
||||
|
||||
## Vercel
|
||||
|
||||
1. Umieść repozytorium w serwisie Git.
|
||||
2. Importuj projekt do Vercel jako aplikację Next.js.
|
||||
3. Nie dodawaj kluczy API dla danych pogodowych: publiczne endpointy IMGW, Open-Meteo i Nominatim nie wymagają ich w obecnej integracji.
|
||||
4. Wdróż standardowym buildem `npm run build`.
|
||||
|
||||
Proxy IMGW działa jako route handler Next.js i jest zgodne z hostingiem Vercel.
|
||||
|
||||
Jeśli używasz powiadomień na Vercel, endpointy harmonogramu muszą być wywoływane zewnętrznym cronem albo innym schedulerem. Sam route handler nie uruchamia się cyklicznie bez zewnętrznego wywołania.
|
||||
|
||||
## Zmienne Środowiskowe
|
||||
|
||||
```bash
|
||||
WEB_PUSH_VAPID_PUBLIC_KEY=
|
||||
WEB_PUSH_VAPID_PRIVATE_KEY=
|
||||
WEB_PUSH_VAPID_SUBJECT=mailto:admin@example.com
|
||||
NOTIFICATIONS_CRON_SECRET=
|
||||
WTR_APP_URL=http://127.0.0.1:3000
|
||||
NOTIFICATIONS_WARNING_INTERVAL_MINUTES=5
|
||||
NOTIFICATIONS_MORNING_BRIEF_TIME=07:00
|
||||
NOTIFICATIONS_TOMORROW_BRIEF_TIME=18:00
|
||||
```
|
||||
|
||||
Do zwykłego uruchomienia aplikacji pogodowej zmienne Web Push nie są wymagane. Są potrzebne dopiero dla powiadomień.
|
||||
|
||||
## Jakość
|
||||
|
||||
Przed zakończeniem zmian uruchamiaj:
|
||||
|
||||
```bash
|
||||
npm run lint
|
||||
npm run build
|
||||
```
|
||||
|
||||
Repozytorium nie ma obecnie osobnego skryptu testów, osobnego skryptu type-check ani formattera.
|
||||
|
||||
## Bezpieczeństwo Zależności
|
||||
|
||||
Projekt używa Next.js `16.2.6`. Znany status zależności obejmuje umiarkowane zgłoszenie `GHSA-qx2v-qp2m-jg93` dla PostCSS `8.4.31` bundlowanego bezpośrednio przez Next.js. Główna konfiguracja projektu korzysta z PostCSS `8.4.49`. Po publikacji poprawki upstream należy zaktualizować Next.js i ponownie uruchomić audyt.
|
||||
Reference in New Issue
Block a user