Initial commit: KSEF PDF Generator from GitHub

This commit is contained in:
2026-03-18 22:35:33 +01:00
parent f48680a65f
commit 4e49c625bf
11 changed files with 1375 additions and 1 deletions

159
DEPLOYMENT.md Normal file
View File

@@ -0,0 +1,159 @@
# Instrukcja Deployment aplikacji KSEF PDF Generator na nginx
## 1. Przygotowanie artefaktów
Aplikacja została już zbudowana do folderu `dist-app/`:
```bash
cd /home/ms/projekty/fv-ksef-nodejs/ksef-pdf-generator
# Jeśli potrzebujesz ponownie zbudować:
npm run build:app
```
Zawartość `dist-app/`:
- `index.html` - główny plik HTML (punkt wejścia SPA)
- `assets/` - folder ze skonkatenowanymi JS, CSS i zasobami
---
## 2. Deployment na serwer docelowy
### a) Zkopuj artefakty do serwera
```bash
# Lokalnie, na maszynie z kodem:
scp -r dist-app/ user@www.sic.pl:/var/www/ksef/
# LUB jeśli deployment robisz z serwera:
scp -r /home/ms/projekty/fv-ksef-nodejs/ksef-pdf-generator/dist-app/ /var/www/ksef/
```
### b) Upewnij się, że nginx ma uprawnienia
```bash
sudo chown -R www-data:www-data /var/www/ksef/
sudo chmod -R 755 /var/www/ksef/
```
---
## 3. Konfiguracja nginx
### Opcja A: Dodaj blok do istniejącego `/etc/nginx/nginx.conf`
1. Otwórz `/etc/nginx/nginx.conf`:
```bash
sudo nano /etc/nginx/nginx.conf
```
2. W sekcji `http {}` dodaj:
```nginx
include /etc/nginx/conf.d/ksef.conf;
```
### Opcja B: Utwórz osobny plik konfigu
1. Zkopuj `nginx-ksef.conf` z repozytorium:
```bash
sudo cp nginx-ksef.conf /etc/nginx/conf.d/ksef.conf
```
2. **WAŻNE:** Edytuj `/etc/nginx/conf.d/ksef.conf` i zmień scieżki:
```nginx
# ZMIEŃ TĘ LINIĘ:
root /home/ms/projekty/fv-ksef-nodejs/ksef-pdf-generator/dist-app;
alias /home/ms/projekty/fv-ksef-nodejs/ksef-pdf-generator/dist-app/;
# NA TWOJE ŚCIEŻKI W PRODUKCJI, np:
root /var/www/ksef;
alias /var/www/ksef/;
```
---
## 4. Testowanie konfigu i restartowanie nginx
```bash
# Sprawdź składnię konfigu
sudo nginx -t
# Jeśli OK, restartuj nginx
sudo systemctl restart nginx
# Lub reload (bez drop current connections):
sudo systemctl reload nginx
```
---
## 5. Weryfikacja
Otwórz w przeglądarce: **http://www.sic.pl/ksef/**
Powinieneś zobaczyć interfejs aplikacji z polami do wgrania XML-ów.
---
## 6. Logi i debugowanie
Logi nginx:
```bash
sudo tail -f /var/log/nginx/ksef-access.log
sudo tail -f /var/log/nginx/ksef-error.log
```
Jeśli widzisz błędy 404 na asetach, sprawdź:
- Ścieżkę w `alias` / `root`
- Uprawnienia folderu `/var/www/ksef/`
- Że `dist-app/index.html` istnieje
---
## 7. HTTPS (SSL/TLS)
Aby używać HTTPS:
1. Uzyskaj certyfikat (np. Let's Encrypt):
```bash
sudo certbot certonly --webroot -w /var/www/ksef -d www.sic.pl
```
2. Odkomentuj blok `server { listen 443 ssl ... }` w `nginx-ksef.conf` i wstaw ścieżki certyfikatu.
3. Konfiguruj HTTP → HTTPS redirect.
---
## 8. Aktualizacja aplikacji (CI/CD)
Podczas deployment nowej wersji:
1. Zbuduj aplikację lokalnie:
```bash
npm run build:app
```
2. Zkopuj do serwera (zastępując starą wersję):
```bash
scp -r dist-app/* user@www.sic.pl:/var/www/ksef/
```
3. Cache przeglądarki: ponieważ `index.html` nie ma cache (`max-age=0`),
przeglądarki zawsze pobiorą najnowszą wersję przy następnej wizycie.
---
## Struktura produkcji
```
/var/www/ksef/
├── index.html (punkt wejścia, no cache)
├── assets/
│ ├── index-HASH.js (bundled app, cached)
│ └── index-HASH.css (bundled styles, cached)
```
--
**Gotowe!** Aplikacja powinna być dostępna na `http://www.sic.pl/ksef/` 🚀