2026-09-20 10:52:57 +02:00
2026-09-20 10:52:24 +02:00
2026-09-20 10:52:24 +02:00
2026-09-20 10:52:24 +02:00
2026-09-20 10:52:24 +02:00

scalable-sync

Synchronisiert Scalable Capital Broker-Transaktionen nach Wealthfolio.

Voraussetzungen

  • Docker + Docker Compose
  • Wealthfolio mit MCP aktiviert (WF_MCP_ENABLED=true)
  • Scalable Capital: Agentic Investing aktiviert (Profil → Sicherheit)

Dateien

Datei Zweck
Dockerfile Container-Image
compose.yaml Docker Compose Config
.env Alle Einstellungen
scalable_sync.py Sync-Adapter
requirements.txt Python-Abhängigkeiten

Setup

# Dateien in ein Verzeichnis deiner Wahl kopieren, z. B.:
# /opt/scalable-sync/ oder ~/docker/scalable-sync/

docker compose build

# 1. Einmalig einloggen (Session wird im Volume gespeichert)
docker compose run --rm -it scalable-sync sc login --local-read-only

# 2. Test
docker compose run --rm scalable-sync sc whoami
docker compose run --rm scalable-sync sc broker holdings --json | jq .

# 3. Dry-Run
docker compose run --rm scalable-sync python /app/scalable_sync.py --once --dry-run

# 4. Start
docker compose up -d

.env

# Wealthfolio
WF_MCP_URL=http://wealthfolio:8088/mcp
WF_MCP_TOKEN=wf_mcp_dein_token_hier
WF_ACCOUNT_ID=dein-konto-uuid

# Optional: Scalable Portfolio-ID (bei mehreren Portfolios)
SC_PORTFOLIO_ID=

# Sync
SYNC_INTERVAL_HOURS=6
SC_OVERLAP_DAYS=14
SC_SETTLED_ONLY=true

# ISIN → Wealthfolio-Symbol
ASSET_MAP={"IE00B4L5Y983":"EUNL.DE","IE00B3RBWM25":"VWCE.DE"}

# Container-User
PUID=1000
PGID=1000

WF_ACCOUNT_ID finden

Wealthfolio → Accounts → Konto anklicken → ID aus der URL kopieren (/accounts/abc123-def456/...).

ASSET_MAP

JSON-Objekt: "ISIN": "SYMBOL". Wealthfolio-Symbol unter Assets suchen.

SC_PORTFOLIO_ID

Nur bei mehreren Scalable-Portfolios nötig. Ermitteln mit:

docker compose run --rm scalable-sync sc broker context show --json

Volumes

Docker legt diese Volumes automatisch an — kein manuelles mkdir nötig.

Volume Inhalt Zweck
scalable-sync-data state.db, audit.jsonl, dead-letter.jsonl Sync-Status und Logs
scalable-sync-config config.toml, session.json Scalable CLI Session

Wichtig: Ohne scalable-sync-config geht die Session bei docker compose down verloren.

Befehle

Befehl Beschreibung
docker compose run --rm scalable-sync python /app/scalable_sync.py --once --dry-run Testlauf ohne Schreiben
docker compose run --rm scalable-sync python /app/scalable_sync.py --once Einmaliger Sync
docker compose logs -f Logs anzeigen
docker compose down && docker compose up -d Neustart (Session bleibt erhalten)

Troubleshooting

Problem Lösung
"Not logged in" docker compose run --rm -it scalable-sync sc login --local-read-only
Keine Transaktionen SC_SETTLED_ONLY und SC_OVERLAP_DAYS prüfen
Unmapped ISIN ISIN in ASSET_MAP ergänzen
Mehrere Portfolios SC_PORTFOLIO_ID setzen
Doppelte Activities Prüfen ob WF_ACCOUNT_ID korrekt ist
Session nach Neustart weg scalable-sync-config Volume in compose.yaml prüfen
S
Description
No description provided
Readme
147 KiB
Languages
Python 88%
Dockerfile 8.3%
Shell 3.7%