3.3 KiB
3.3 KiB
Instrukcja Deployment aplikacji KSEF PDF Generator na nginx
1. Przygotowanie artefaktów
Aplikacja została już zbudowana do folderu dist-app/:
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
# 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
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
- Otwórz
/etc/nginx/nginx.conf:
sudo nano /etc/nginx/nginx.conf
- W sekcji
http {}dodaj:
include /etc/nginx/conf.d/ksef.conf;
Opcja B: Utwórz osobny plik konfigu
- Zkopuj
nginx-ksef.confz repozytorium:
sudo cp nginx-ksef.conf /etc/nginx/conf.d/ksef.conf
- WAŻNE: Edytuj
/etc/nginx/conf.d/ksef.confi zmień scieżki:
# 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
# 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:
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.htmlistnieje
7. HTTPS (SSL/TLS)
Aby używać HTTPS:
- Uzyskaj certyfikat (np. Let's Encrypt):
sudo certbot certonly --webroot -w /var/www/ksef -d www.sic.pl
-
Odkomentuj blok
server { listen 443 ssl ... }wnginx-ksef.confi wstaw ścieżki certyfikatu. -
Konfiguruj HTTP → HTTPS redirect.
8. Aktualizacja aplikacji (CI/CD)
Podczas deployment nowej wersji:
- Zbuduj aplikację lokalnie:
npm run build:app
- Zkopuj do serwera (zastępując starą wersję):
scp -r dist-app/* user@www.sic.pl:/var/www/ksef/
- Cache przeglądarki: ponieważ
index.htmlnie 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/ 🚀