RoboZonky v Dockeru - RoboZonky/robozonky GitHub Wiki

Počínaje verzí 4.6.0, RoboZonky lze používat i jako Docker container. Tato stránka poskytuje ty nejdůležitější informace o RoboZonky v Dockeru.

Pro začátečníky, jako jsem já: toto řešení nelze použít na Raspberry Pi vzhledem k odlišné architektuře procesoru. Investujte raději zbytečné 2 hodiny strávené instalací a konfigurací do něčeho lepšího :-)

Příklad použití

$ docker run -d \
    -v  $CONFIG_DIR:/etc/robozonky \
    -v $WORKING_DIR:/var/robozonky \
    -e TZ=Europe/Prague \
    robozonky/robozonky:latest

V tomto příkladu:

  • $CONFIG_DIR nahraďte za cestu ve vašem souborovém systému, kde máte uloženu konfiguraci robota. RoboZonky tam bude hledat přinejmenším soubory robozonky.cli, robozonky.properties a log4j2.xml. Pokud o těchto souborech nic nevíte, doporučujeme použít RoboZonky instalátor, který pro vás jejich ukázky vytvoří.
  • $WORKING_DIR nahraďte za cestu ve vašem souborovém systému, kam si přejete, aby robot ukládal své pracovní soubory, zejména logy a stav aplikace. RoboZonky tam bude hledat soubory robozonky.keystore a robozonky-strategy.cfg.
  • Nastavujeme časovou zónu kontejneru na stejnou, jakou používá server Zonky. Děláme to proto, aby se různé dávkové operace uvnitř RoboZonky spouštěly přesně v takovou dobu, na jakou byly navrženy. (Např. integrace se Stonky poběží těsně po půlnoci, v návaznosti na aktualizaci dat na Zonky.)

Doporučujeme zvážit následující dodatečné parametry příkazové řádky:

  • -m Xm omezí množství paměti dostupné pro Docker kontejner, a tedy pro robota. X nahraďte hodnotou v megabytech. V našich experimentech se ukazuje, že 128 je příliš málo a jakákoliv hodnota vyšší než 150 by měla být dostatečná.
  • -p X:7091 zpřístupní sledování robota přes JMX. X nahraďte za číslo portu, na kterém má být rozhraní JMX na vašem systému dostupné.

Dostupné varianty

RoboZonky Docker images jsou dostupné v několika variantách. Následující tabulka vysvětluje, co lze ve které variantě očekávat:

Varianta Úroveň stability Číslovaná verze
latest Vysoká Ano.
released Střední Ano.
testing Střední Ne.
dev Nepředvídatelná Ne.

Jinými slovy:

  • latest obsahuje vždy nejnovější dostupnou stabilní verzi RoboZonky. Toto je nejvhodnější varianta pro běžné uživatele.
  • testing obsahuje vždy nejnovější dostupný kód RoboZonky ze stabilní větve vč. takového, který ještě nebyl zahrnut v latest. Vhodné pro uživatele, kteří jsou schopni akceptovat vyšší míru rizika a chtějí pomoci s testováním před vydáním stabilní verze.
  • released obsahuje vždy nejnovější dostupnou verzi RoboZonky, ať už stabilní nebo testovací. Může obsahovat i velmi rané verze jako jsou Alpha nebo Beta. Vhodné pouze pro odvážné.
  • dev jde přímo z master branche, a jde tedy o nejaktuálnější vývojovou verzi. Určeno výhradně vývojářům, kteří vědí, co dělají.

Kromě toho mají všechny varianty (kromě dev) ještě svoje podvarianty podle toho, jaké verze se do nich dostanou. Např. latest-4.6.x bude dostávat pouze opravy chyb pro verzi 4.6.0.

Docker-compose

Při souborové struktuře

(/home/user/docker/RoboZonky) $ tree
.
├── config
│   ├── log4j2.xml
│   ├── robozonky.cli
│   └── robozonky.properties
├── working
│   ├── robozonky-strategy.cfg
│   └── robozonky.keystore
└── docker-compose.yml

docker-compose.yml

version: '3.4'

services:
  robozonky:
    image: robozonky/robozonky:latest
    container_name: RoboZonky
    restart: always
    volumes:
      - ./config:/etc/robozonky
      - ./working:/var/robozonky
    environment:
      TZ: Europe/Prague

robozonky.cli

Upravit -g a -s na aktuální adresář (smazat cestu před názvy souborů).
-p ponechat tak, jak vylezl při prvním spuštění přes java aplikaci.

-g
"robozonky.keystore"
-p
"xxxxx-yyyy-zzzzz-xxxx-yyyyyyyyyyyy"
-s
"robozonky-strategy.cfg"

Spustit na pozadí příkazem docker-compose up -d.