feat: webowa wersja Video & Sound Downloader Pro (NestJS + React)
Some checks failed
deploy / deploy (push) Failing after 1m44s

Odwzorowanie desktopowego v6.5.6: tryby MP3/MP4/PLAYLISTA/FACEBOOK,
jakość/format, napisy, log na żywo (SSE), STOP. Docker + Gitea CI/CD,
deploy na videodownloader.naurecki.pl.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-29 10:45:22 +02:00
commit fbc4fb0834
29 changed files with 8129 additions and 0 deletions

38
DEPLOY.md Normal file
View File

@@ -0,0 +1,38 @@
# 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:8085`, `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:8085/ flushpackets=on
ProxyPassReverse / http://127.0.0.1:8085/
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.
## Tryb testowy (opcjonalny banner)
Ustaw zmienne repozytorium w Gitei (Settings → Actions → Variables):
`TRIAL_ENABLED=1`, `TRIAL_DAYS_LEFT=60`, `TRIAL_EXPIRES=2026-08-27`.