# Wdrożenie na host.linuxiarz.pl Paczka jest przygotowana jako aktualizacja wersji `adlist_mikrotik-cache-7d-english`. **Nie nadpisuj** istniejącego `.env`, katalogu `venv` ani własnych danych Redis. ## 1. Kopia bezpieczeństwa ```bash sudo systemctl stop listapp sudo cp -a /var/www/adlist_mikrotik "/var/www/adlist_mikrotik.backup.$(date +%Y%m%d-%H%M%S)" ``` ## 2. Instalacja ZIP Rozpakuj plik w osobnym katalogu. Po rozpakowaniu katalog `adlist_mikrotik/` z paczki można skopiować bez naruszania środowiska uruchomieniowego: ```bash sudo rsync -a --exclude='.env' --exclude='venv/' --exclude='.git/' \ ./adlist_mikrotik/ /var/www/adlist_mikrotik/ ``` Alternatywnie użyj PATCH, ale **wyłącznie jeśli instalacja odpowiada ostatniej wersji `adlist_mikrotik-cache-7d-english`**. Wtedy: ```bash cd /var/www/adlist_mikrotik sudo git apply --check /tmp/adlist_mikrotik-rustproxy-ui-from-cache7d.patch sudo git apply /tmp/adlist_mikrotik-rustproxy-ui-from-cache7d.patch ``` Dla PATCH potrzebne jest `git`, ale katalog nie musi być repozytorium. ## 3. Test i restart ```bash cd /var/www/adlist_mikrotik /var/www/adlist_mikrotik/venv/bin/python -m compileall -q app.py adlist source_conversion.py sudo systemctl start listapp sudo systemctl status listapp --no-pager sudo journalctl -u listapp -n 60 --no-pager ``` Sprawdź stronę `/`, zabezpieczone `/stats`, a potem `/convert` na poprawnej liście. W przypadku niepowodzenia odtwórz kopię z kroku 1 i ponownie uruchom usługę. ## Cache Nagłówki aplikacji nie wymuszają przechowywania obiektów przez proxy. RustProxy musi mieć włączony cache, `bypass_query=false`, `max_ttl_seconds=604800` oraz odpowiedni `max_object_bytes`. Błędne odpowiedzi nie są cache'owane. ## Ustawienia produkcyjne W `.env` ustaw `FLASK_DEBUG=false`, silny `SECRET_KEY` i nieużywane nigdzie indziej hasło `STATS_BASIC_AUTH_PASS`. Zachowaj własne wartości w istniejącym pliku.