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

1.3 KiB

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:

<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):

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.