Skip to main content

L2 — Containers

C4 Level 2: Zooms into Stock Market Professional and shows its deployable units — services, databases, and schedulers.

C4 Model — Level 2

The Container diagram answers: What are the high-level technical building blocks, and how do they talk to each other?

Container Diagram​

Containers Inventory​

ContainerTechnologyResponsibility
Data IngestorPython, requests, websocketsPoll & normalise market data
Analysis EnginePython, pandas, pandas-ta, ta-libTechnical indicators + pattern recognition
Signal GeneratorPythonConfluence scoring, risk rules, signal assembly
Job SchedulerAPSchedulerPipeline orchestration & timing
Market Data StoreSQLite (dev) / TimescaleDB (prod)Persist OHLCV, indicators, signals
NotifierPython, Discord WebhookFormat and deliver signals

Deployment​

All containers run as a single Python process in development (scheduler + all modules), and can be split into separate Docker containers in production:

docker/
├── ingestor/ # Data poller container
├── analyser/ # Analysis worker container
├── signal-gen/ # Signal generation + notifier
└── timescaledb/ # Database container

The CI pipeline (Gitea Actions) builds images and pushes to the Zot container registry at lego-cloud.eu:30264.