This commit is contained in:
2026-06-02 06:15:02 +02:00
parent bdf5bf6b03
commit 06ad59a22a
6 changed files with 1052 additions and 1 deletions
+115
View File
@@ -0,0 +1,115 @@
# Python Runner na Unraid — návod
## Příprava
Zkopíruj `Dockerfile` a `docker-compose.yml` na tower do složky, např.:
```
/mnt/user/Scripts/python-runner/
```
Přes Unraid terminál (Tools → Terminal):
```bash
mkdir -p /mnt/user/Scripts/python-runner
```
Pak přes Windows zkopíruj oba soubory do `\\tower\Scripts\python-runner\`.
---
## Jednorázové sestavení image
```bash
cd /mnt/user/Scripts/python-runner
docker compose build
```
Trvá 12 minuty, stáhne Python 3.12 a nainstaluje balíčky.
---
## Spuštění containeru
```bash
docker compose up -d
```
Container poběží na pozadí pořád (restartuje se i po rebootu tower).
---
## Spuštění skriptu
```bash
docker exec -it python-runner python /scripts/parse_emails_v1.0.py
```
S parametry (pokračování po přerušení):
```bash
docker exec -it python-runner python /scripts/parse_emails_v1.0.py --skip-existing
```
Test na 50 emailech:
```bash
docker exec -it python-runner python /scripts/parse_emails_v1.0.py --limit 50 --no-indexes
```
---
## Spuštění na pozadí (doporučeno pro 48h import)
```bash
docker exec -d python-runner python /scripts/parse_emails_v1.0.py --skip-existing
```
Přepínač `-d` pustí skript na pozadí — terminál můžeš zavřít.
### Sledování průběhu (log)
```bash
# Spusť skript s logováním do souboru:
docker exec -d python-runner bash -c \
"python /scripts/parse_emails_v1.0.py --skip-existing > /scripts/parse_emails.log 2>&1"
# Sleduj průběh živě:
docker exec -it python-runner tail -f /scripts/parse_emails.log
```
---
## Jakýkoliv jiný skript
Stačí skript hodit do `\\tower\Scripts\` a spustit:
```bash
docker exec -it python-runner python /scripts/nazev_skriptu.py
```
Pokud skript potřebuje nový pip balíček:
```bash
docker exec -it python-runner pip install nazev-balicku
```
(Nainstaluje se do běžícího containeru. Po `docker compose down/up` zmizí — pro trvalé přidej do Dockerfile a znovu `docker compose build`.)
---
## Zastavení / restart
```bash
docker compose stop # zastaví container
docker compose start # znovu spustí
docker compose down # zastaví a odstraní container (image zůstane)
```
---
## Cesty uvnitř containeru
| Na tower | Uvnitř containeru |
|---|---|
| `/mnt/user/Scripts` | `/scripts` |
| `/mnt/user/JNJEMAILS` | `/mnt/JNJEMAILS` |
Skript má v kódu `MSGS_DIR = Path(r"\\tower\JNJEMAILS")`**před spuštěním v Dockeru změň** na:
```python
MSGS_DIR = Path("/mnt/JNJEMAILS")
```