Legújabb kiadás v3.3.0b kiadva: 2026-05-16 Hírek megtekintése ›

Tradleware Telepítése

Ez az útmutató végigvezet a Tradleware telepítésén — a repo klónozástól az első élő (vagy teszt) megbízásig. Kiterjed a kriptó botokra, az IBKR részvénykereskedésre és a Gotify push értesítésekre.


Előfeltételek

  • Docker és Docker Compose telepítve (docs.docker.com)
  • Egy Linux gép, Raspberry Pi 4/5, vagy bármilyen amd64/arm64 szerver
  • Legalább egy támogatott tőzsdefiók (OKX, Crypto.com, Independent Reserve vagy IBKR)
  • Alapvető terminál-ismeret (nano, cp, docker)

1. lépés — Repository Klónozása

A Docker image automatikusan töltődik le az első indításkor. A GitHub-ról csak a docker-compose.yml és a konfigurációs sablonok szükségesek:

git clone --depth 1 https://github.com/cslev/tradleware
cd tradleware

--depth 1 csak a legfrissebb állapotot tölti le — nincs teljes git-előzmény, minimális letöltési méret.


2. lépés — Környezet Beállítása (.env)

Másold le a példafájlt, majd nyisd meg szerkesztésre:

cp .env.example .env
nano .env

Szükséges minimális módosítások

DASHBOARD_USERNAME="felhasznaloneved"
DASHBOARD_PASSWORD="biztonsagos-jelszo"

# Randomizáld a webhook végpontot az automatizált bot-szkennelések ellen
# Generálás: pwgen -n 14
WEBHOOK_PATH="ka8Moh4aiNgai4"

Teljes .env referencia

VáltozóKötelezőAlapértelmezettLeírás
DASHBOARD_USERNAMENemadminIrányítópult belépési felhasználónév
DASHBOARD_PASSWORDNemchangemeIrányítópult belépési jelszó (változtasd meg!)
SESSION_SECRET_KEYNemAuto-generáltMunkamenet titkosítási kulcs — openssl rand -hex 32
WEBHOOK_PATHNemwebhookWebhook URL útvonal — randomizáld a biztonság érdekében (pwgen -n 14)
TRUSTED_IPSNem127.0.0.1Vesszővel elválasztott IP-k, amelyek megkerülik az irányítópult-hitelesítést (ideális Raspberry Pi LAN-hozzáféréshez)
LOG_REFRESH_INTERVAL_MSNem5000Irányítópult napló frissítési intervallum (ms)
LOG_LEVELNem10Min. naplózási szint: 10=DEBUG, 20=INFO, 30=WARNING, 40=ERROR
GOTIFY_SERVER_URLNemGotify szerver alap URL (lásd Gotify szekció lent)
GOTIFY_APP_TOKENNemGotify alkalmazás token
GOTIFY_LOG_LEVELNem30Min. naplózási szint, amit Gotify-nak továbbít (alapértelmezett: WARNING és felette)

Biztonsági tipp: A TRUSTED_IPS lehetővé teszi, hogy az otthoni hálózaton lévő eszközök jelszó nélkül nyissák meg az irányítópultot — tökéletes egy billentyűzet nélküli Raspberry Pi kijelzőhöz. Állítsd be a LAN alhálózati tartományodra, pl. 192.168.1.0/24, vagy egyedi IP-kre.


3. lépés — Kriptó Bot(ok) Beállítása

A bot-konfiguráció a bot_configs/crypto/ könyvtárban található. Csak a használt tőzsdék fájljait másold le:

cp bot_configs/crypto/okx.yaml.example       bot_configs/crypto/okx.yaml
cp bot_configs/crypto/cryptocom.yaml.example bot_configs/crypto/cryptocom.yaml
cp bot_configs/crypto/ir.yaml.example        bot_configs/crypto/ir.yaml

Szerkeszd meg az egyes fájlokat a valódi hitelesítő adataiddal. Példa az okx.yaml-ra:

bots:
  - id: mybtcbot              # kisbetűs — trader_id-ként használatos a webhook payloadokban
    api_key: your_okx_api_key
    secret_key: your_okx_secret_key
    passphrase: your_okx_passphrase
    subaccount_name: tradingbot  # mindig használj dedikált alszámlát
    hostname: my.okx.com
    stablecoin_fiat_pair: USDT/USD  # állítsd be a helyi valutapárodra, pl. USDT/EUR
    crypto_stablecoin_pair: BTC/USDT
    tradleware_api_key: your_per_bot_secret  # openssl rand -hex 32

Kulcsmezők:

MezőLeírás
idKisbetűs azonosító — minden webhook payloadban trader_id-ként szerepel
tradleware_api_keyBot-specifikus webhook hitelesítési kulcs. Generálj egyet botonként: openssl rand -hex 32
crypto_stablecoin_pairPontosan egyeznie kell a webhook payloadok ticker mezőjével
stablecoin_fiat_pairFiat értékszámításhoz használatos az irányítópulton

Lásd a bot_configs/crypto/*.yaml.example fájlokat az összes elérhető mező megtekintéséhez.


4. lépés — IBKR Beállítása (Részvénykereskedés)

Hagyd ki ezt a részt, ha csak kriptóval kereskedsz.

Az IBKR beállítása két fájlt és egy külön Docker-tárolót igényel az IB Gateway-hez.

4a — Konfigurációs fájlok létrehozása

cp bot_configs/stock/ibkr.yaml.example bot_configs/stock/ibkr.yaml
cp .env.ibkr.example                   .env.ibkr

4b — .env.ibkr szerkesztése

Ez a fájl tartalmazza az IBKR belépési adataidat. Csak az IB Gateway tároló olvassa, a Tradleware soha nem:

USERNAME=your_ibkr_username
PASSWORD=your_ibkr_password

# Kereskedési mód: 'paper' vagy 'live'
IBC_TradingMode=paper

# Csak olvasható API: 'yes' = nem ad le megbízásokat (biztonságos kezdeti teszteléshez)
IBC_ReadOnlyApi=yes

Kezdj IBC_TradingMode=paper és IBC_ReadOnlyApi=yes beállításokkal, amíg minden működését beállítás szerint nem ellenőrzöd.

4c — bot_configs/stock/ibkr.yaml szerkesztése

gateway:
  host: "ib_gateway"   # Docker tároló neve — a tradleware-network DNS-en keresztül oldódik fel
  port: 8888           # Mindig 8888 — a cslev/ibkr-docker kép kezeli a belső útválasztást

bots:
  - id: myapplebot
    account_id: "U1234567"
    symbol: "AAPL"
    extended_hours: false
    fractional_shares: false
    tradleware_api_key: "your_per_bot_secret"  # openssl rand -hex 32

4d — Az IB Gateway tároló indítása

A Tradleware a cslev/ibkr-docker képet használja — egy multi-arch (amd64 + arm64) IB Gateway, amely natívan működik x86 szervereken és Raspberry Pi-n is:

docker-compose -f docker-compose.ibkr.yml up -d

4e — Gateway monitorozása

Várj 30–60 másodpercet, amíg a gateway hitelesíti magát az IBKR szervereken:

docker-compose -f docker-compose.ibkr.yml logs -f

A gateway vizuálisan is figyelhető noVNC segítségével a böngészőben — nincs szükség VNC kliensre:

http://YOUR_SERVER_IP:6080

4f — Átváltás éles kereskedésre

Ha készen állsz az éles kereskedésre:

  1. Frissítsd a .env.ibkr fájlt:

    IBC_TradingMode=live
    IBC_ReadOnlyApi=no
  2. Indítsd újra a gateway-t:

    docker-compose -f docker-compose.ibkr.yml restart

Más módosítás nem szükséges — a botok mindig a 8888-as porthoz csatlakoznak, a gateway kezeli a belső útválasztást.


5. lépés — Tradleware Indítása

docker-compose up -d

A Docker automatikusan letölti a cslev/tradleware:latest képet az első indításkor. Ez elindítja:

  • A FastAPI backendet — validálja a webhookokat és végrehajtja a tőzsde API hívásokat
  • A Web irányítópultot — valós idejű bot státusz, naplók és kitöltési előzmények
  • A Gotify bridge-et — push értesítések kötésekről és hibákról (ha be van állítva)

Hasznos parancsok

# Élő naplók követése
docker-compose logs -f tradleware

# Stack leállítása
docker-compose down

# Frissítés új verzióra
docker-compose down
docker-compose pull
docker-compose up -d

A tartós adatok (bot_configs/ és tradleware_data/logs/) megmaradnak az újraindítás után — frissítéskor csak a tároló cserélődik.


6. lépés — Az Irányítópult Elérése

Nyisd meg a böngészőt, és navigálj:

http://YOUR_SERVER_IP:8080

Lépj be a .env-ben beállított DASHBOARD_USERNAME / DASHBOARD_PASSWORD adatokkal. Ha hozzáadtad a LAN IP-det a TRUSTED_IPS-hez, a bejelentkezési lépés automatikusan kimarad.

Az irányítópult minden botot kártyaként jelenít meg, beleértve:

  • Élő pozíció és egyenleg
  • Legutóbbi kötési előzmények
  • Webhook Részletek panel a pontos végpont URL-lel, kész cURL példával és élő teszt gombbal

7. lépés — Teszt Webhook Küldése

Mielőtt csatlakoztatnád a TradingView-t vagy bármilyen élő stratégiát, ellenőrizd az end-to-end működést dry_run webhookkal — valódi megbízás nem kerül feladásra:

curl -X POST http://YOUR_SERVER_IP:8080/YOUR_WEBHOOK_PATH \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "your_per_bot_secret",
    "trader_id": "mybtcbot",
    "ticker": "BTC/USDT",
    "action": "buy",
    "timestamp": 1700000000,
    "alert_name": "Supertrend Buy Signal",
    "order_size": 10,
    "order_size_type": "percentage",
    "dry_run": true
  }'

A szimulált megbízásnak meg kell jelennie az irányítópult naplóiban. Ha dry_run nincs megadva vagy false, valódi megbízás kerül feladásra.

Webhook payload referencia

MezőKötelezőLeírás
api_keyIgenA bot tradleware_api_key-je a YAML konfigból
trader_idIgenAz id mező a bot YAML-jából (kisbetűs)
tickerIgenPontosan meg kell egyeznie a bot crypto_stablecoin_pair-jével
actionIgenbuy vagy sell
timestampIgenUnix timestamp (másodperc vagy ms) vagy ISO 8601 string
order_sizeIgenÖsszeg — százalék (0–100) vagy pontos mennyiség
order_size_typeNempercentage (alapértelmezett) vagy quantity
alert_nameNemNaplókban és push értesítésekben megjelenő felirat
dry_runNemtrue szimulációhoz végrehajtás nélkül

Gotify Push Értesítések

A Gotify egy self-hosted push értesítési szerver, amely valós idejű értesítéseket küld a telefonodra minden kötésnél, sikertelen megbízásnál és egyéb figyelmet igénylő eseménynél — harmadik fél felhőszolgáltatás nélkül.

A Gotify Raspberry Pi-n való futtatásának teljes leírásáért (beleértve az Android alkalmazás beállítását és a reverse proxy konfigurációt), lásd a szerző részletes útmutatóját: How I Run My Entire Digital Life on a Raspberry Pi – Real-Time Notifications with Gotify.

Gotify telepítése ugyanarra a Raspberry Pi-ra

A legegyszerűbb megközelítés a Gotify hozzáadása a meglévő Docker stack-hez. Hozz létre egy docker-compose.gotify.yml fájlt a meglévő compose fájlok mellé:

services:
  gotify:
    image: gotify/server-arm64   # amd64 gépen használd: gotify/server
    container_name: gotify
    restart: unless-stopped
    ports:
      - "8090:80"
    volumes:
      - ./gotify_data:/app/data
    environment:
      - GOTIFY_DEFAULTUSER_PASS=changeme

Használj gotify/server-t gotify/server-arm64 helyett, ha amd64 gépen futtatod.

Indítsd el:

docker-compose -f docker-compose.gotify.yml up -d

A Gotify webes felületét itt éred el:

http://YOUR_SERVER_IP:8090

Lépj be admin felhasználónévvel és a GOTIFY_DEFAULTUSER_PASS-ban beállított jelszóval.

Gotify alkalmazás token létrehozása

  1. A Gotify webes felületen menj az AppsCreate Application menüpontba
  2. Adj nevet (pl. Tradleware)
  3. Másold le a generált tokent

Gotify bekötése a Tradleware-be

Add hozzá ezt a három sort a Tradleware .env fájlodhoz:

GOTIFY_SERVER_URL=http://YOUR_SERVER_IP:8090
GOTIFY_APP_TOKEN=your_app_token_here
GOTIFY_LOG_LEVEL=30

A GOTIFY_LOG_LEVEL=30 azt jelenti, hogy a Tradleware WARNING szinttől felfelé küld értesítéseket — kötések, megbízási hibák és kritikus események. Csökkentsd 20-ra (INFO), ha minden sikeres kitöltésről is szeretnél értesítést.

Indítsd újra a Tradleware-t az alkalmazáshoz:

docker-compose restart tradleware

A Gotify mobilalkalmazás telepítése

Mindkét alkalmazás közvetlenül az önhosztoló Gotify szerverhez csatlakozik — nincs közvetítő felhő. Konfiguráld a szerver IP-jével/domainjével, és valós idejű push értesítéseket kapsz minden kereskedési eseményről.

Letöltés Google Play-rőlLetöltés az App Store-ból

Tradleware Frissítése

docker-compose down
docker-compose pull
docker-compose up -d

A bot_configs/, .env és tradleware_data/ könyvtárak kötetként vannak csatolva, és a frissítés nem érinti őket.


Következő Lépések