Initial commit: KSEF PDF Generator from GitHub
This commit is contained in:
159
DEPLOYMENT.md
Normal file
159
DEPLOYMENT.md
Normal 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/` 🚀
|
||||
Reference in New Issue
Block a user