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/arm64szerver - 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 1csak 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 .envSzü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értelmezett | Leírás |
|---|---|---|---|
DASHBOARD_USERNAME | Nem | admin | Irányítópult belépési felhasználónév |
DASHBOARD_PASSWORD | Nem | changeme | Irányítópult belépési jelszó (változtasd meg!) |
SESSION_SECRET_KEY | Nem | Auto-generált | Munkamenet titkosítási kulcs — openssl rand -hex 32 |
WEBHOOK_PATH | Nem | webhook | Webhook URL útvonal — randomizáld a biztonság érdekében (pwgen -n 14) |
TRUSTED_IPS | Nem | 127.0.0.1 | Vessző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_MS | Nem | 5000 | Irányítópult napló frissítési intervallum (ms) |
LOG_LEVEL | Nem | 10 | Min. naplózási szint: 10=DEBUG, 20=INFO, 30=WARNING, 40=ERROR |
GOTIFY_SERVER_URL | Nem | — | Gotify szerver alap URL (lásd Gotify szekció lent) |
GOTIFY_APP_TOKEN | Nem | — | Gotify alkalmazás token |
GOTIFY_LOG_LEVEL | Nem | 30 | Min. naplózási szint, amit Gotify-nak továbbít (alapértelmezett: WARNING és felette) |
Biztonsági tipp: A
TRUSTED_IPSlehető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.yamlSzerkeszd 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 32Kulcsmezők:
| Mező | Leírás |
|---|---|
id | Kisbetűs azonosító — minden webhook payloadban trader_id-ként szerepel |
tradleware_api_key | Bot-specifikus webhook hitelesítési kulcs. Generálj egyet botonként: openssl rand -hex 32 |
crypto_stablecoin_pair | Pontosan egyeznie kell a webhook payloadok ticker mezőjével |
stablecoin_fiat_pair | Fiat értékszámításhoz használatos az irányítópulton |
Lásd a
bot_configs/crypto/*.yaml.examplefá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.ibkr4b — .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=yesKezdj
IBC_TradingMode=paperésIBC_ReadOnlyApi=yesbeá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 324d — 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 -d4e — 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 -fA 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:60804f — Átváltás éles kereskedésre
Ha készen állsz az éles kereskedésre:
Frissítsd a
.env.ibkrfájlt:IBC_TradingMode=live IBC_ReadOnlyApi=noIndí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 -dA 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 -dA tartós adatok (
bot_configs/éstradleware_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:8080Lé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_key | Igen | A bot tradleware_api_key-je a YAML konfigból |
trader_id | Igen | Az id mező a bot YAML-jából (kisbetűs) |
ticker | Igen | Pontosan meg kell egyeznie a bot crypto_stablecoin_pair-jével |
action | Igen | buy vagy sell |
timestamp | Igen | Unix timestamp (másodperc vagy ms) vagy ISO 8601 string |
order_size | Igen | Összeg — százalék (0–100) vagy pontos mennyiség |
order_size_type | Nem | percentage (alapértelmezett) vagy quantity |
alert_name | Nem | Naplókban és push értesítésekben megjelenő felirat |
dry_run | Nem | true 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=changemeHasználj
gotify/server-tgotify/server-arm64helyett, haamd64gépen futtatod.
Indítsd el:
docker-compose -f docker-compose.gotify.yml up -dA Gotify webes felületét itt éred el:
http://YOUR_SERVER_IP:8090Lé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
- A Gotify webes felületen menj az Apps → Create Application menüpontba
- Adj nevet (pl.
Tradleware) - 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=30A 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 tradlewareA 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.
Tradleware Frissítése
docker-compose down
docker-compose pull
docker-compose up -dA 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
- TradingView webhookok beállítása az értesítések összekapcsolásához és a kereskedés megkezdéséhez