backtest-kit MinIO S3 Docker is a persistence layer for backtest-kit that swaps the defaultDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/backtest-kit/backtest-kit-minio-s3-docker/llms.txt
Use this file to discover all available pages before exploring further.
./dump/ file storage for MinIO (S3) as the source of truth and Redis as a time-ordered index. All 16 IPersist* adapter contracts are fulfilled on top of these two services — your strategy code, runners, and CLI entry points stay completely unchanged.
Quickstart
Spin up MinIO and Redis, build your strategy bundle, and run your first backtest in minutes.
Architecture
Understand how MinIO and Redis work together as a two-layer persistence system.
Persistence Adapters
Explore all 16 IPersist adapters and their MinIO object key schemas.
Deployment
Deploy with Docker Compose — one command to run backtest, live, or paper mode.
Why MinIO + Redis?
This project occupies a deliberate middle ground between the built-in file adapter and a full database.Default ./dump/ | MinIO + Redis (this project) | PostgreSQL / MongoDB | |
|---|---|---|---|
| Infrastructure | None | 2 containers | Database + cache |
| Source of truth | JSON files on local disk | JSON objects in S3 bucket | Rows / documents |
| Durability | Single host, manual backup | S3 semantics: versioning, replication, lifecycle | DB tooling: dumps, replicas |
| Newest-first listings | Directory scan | Redis minute-index, O(limit) | ORDER BY … LIMIT, O(log n) |
| Sweet spot | Local runs, CI | Fat JSON snapshots, S3-native infra | Hundreds of millions of candles |
Key Features
16 Persist Adapters
Full coverage of the backtest-kit IPersist contract — candles, signals, risk, logs, notifications, memory, sessions, and more.
Inverted Timestamp Keys
Object keys embed an inverted timestamp so lexicographic S3 listing is already newest-first — no sort step needed.
Redis Time Index
One Redis SET per minute keeps newest-first listings at O(limit) for Log, Notification, and Storage entities.
Cold-Index Fallback
If Redis is flushed, listings fall back to the bucket LIST and automatically re-warm the index on read.
Idempotent Upserts
Deterministic object keys mean every write is a pure PUT — no read-before-write races, no duplicate conflicts.
Docker Compose
Separate Compose files for MinIO and Redis let you mix local and containerized infrastructure freely.
Get Started
For a fully containerized deploy — including the backtest-kit runner itself — see the Full Docker Deployment guide.