57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
# 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.
|