Files
2026-06-02 06:15:02 +02:00

2.5 KiB
Raw Permalink Blame History

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

mkdir -p /mnt/user/Scripts/python-runner

Pak přes Windows zkopíruj oba soubory do \\tower\Scripts\python-runner\.


Jednorázové sestavení image

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

docker compose up -d

Container poběží na pozadí pořád (restartuje se i po rebootu tower).


Spuštění skriptu

docker exec -it python-runner python /scripts/parse_emails_v1.0.py

S parametry (pokračování po přerušení):

docker exec -it python-runner python /scripts/parse_emails_v1.0.py --skip-existing

Test na 50 emailech:

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)

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)

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

docker exec -it python-runner python /scripts/nazev_skriptu.py

Pokud skript potřebuje nový pip balíček:

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

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:

MSGS_DIR = Path("/mnt/JNJEMAILS")