Files
videodownloader/DEPLOY.md
dariusz 94278f119d
All checks were successful
deploy / deploy (push) Successful in 28s
fix: SSE bez nazwanych zdarzen (postep stal na 0); usun tryb testowy; opcja napisow (osadz/.srt)
- jobs.controller: usun pole type z MessageEvent — onmessage w EventSource
  reaguje tylko na domyslne 'message', przez co front nie dostawal zdarzen
- usun trial (health, compose, deploy.yml, UI, zmienne Gitea)
- napisy: wybor osadzania w wideo lub osobnego pliku .srt (--convert-subs srt)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 11:22:12 +02:00

36 lines
1.3 KiB
Markdown

# Wdrożenie — videodownloader.naurecki.pl
## Pipeline
Push do `main` uruchamia `.gitea/workflows/deploy.yml` na runnerze Gitea
(z zamontowanym `docker.sock`). Runner buduje obrazy z `docker-compose.prod.yml`
i robi `up -d` na demonie Dockera serwera. Serwis `web` (nginx) słucha na
`127.0.0.1:8086`, `api` (NestJS) wewnętrznie + diagnostycznie na `127.0.0.1:3105`.
## Reverse proxy (Apache) — jednorazowo na serwerze
Plik `/etc/apache2/sites-available/videodownloader.naurecki.pl.conf`:
```apache
<VirtualHost *:80>
ServerName videodownloader.naurecki.pl
ProxyPreserveHost On
ProxyRequests Off
# SSE (log na żywo) wymaga flushowania pakietów
ProxyPass / http://127.0.0.1:8086/ flushpackets=on
ProxyPassReverse / http://127.0.0.1:8086/
ErrorLog ${APACHE_LOG_DIR}/videodownloader-error.log
CustomLog ${APACHE_LOG_DIR}/videodownloader-access.log combined
</VirtualHost>
```
Aktywacja + SSL (Let's Encrypt):
```bash
sudo a2enmod proxy proxy_http
sudo a2ensite videodownloader.naurecki.pl
sudo apache2ctl configtest && sudo systemctl reload apache2
sudo certbot --apache -d videodownloader.naurecki.pl --redirect -n \
--agree-tos -m dariusz@naurecki.pl
```
DNS: `*.naurecki.pl` (wildcard) już wskazuje serwer — bez dodatkowej konfiguracji.