Commit graph

8 commits

Author SHA1 Message Date
Marko Djordjevic
1b5f278685 fix: replace TA-Lib source build with prebuilt .deb v0.6.4 in ML Dockerfile 2026-02-18 21:30:23 +01:00
Marko Djordjevic
5896e56faa feat: add sha256 pinning TODO comments to both Dockerfiles
Add TODO comments above each FROM instruction in Dockerfile and
services/ml/Dockerfile instructing how to pin base images to sha256
digests for reproducible builds. Marks task 6.7 as complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 11:37:17 +01:00
Marko Djordjevic
e146de2e05 security: add SHA256 checksum verification for TA-Lib download in ML Dockerfile
Splits the monolithic TA-Lib build RUN command to insert an ARG for the
expected SHA256 hash and a sha256sum -c verification step immediately after
the wget download, before extraction and build. Marks task 6.5 complete.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 11:36:06 +01:00
Marko Djordjevic
a6e0697ab5 fix: Change TA-Lib download URL to HTTPS in Dockerfile
Updated the wget command in services/ml/Dockerfile line 10 to use HTTPS instead of HTTP for downloading TA-Lib source. This improves security by ensuring encrypted transport.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 11:35:15 +01:00
Marko Djordjevic
1438e474e8 security: add non-root appuser to services/ml/Dockerfile
Create system user appuser with useradd, set ownership of /app,
and switch to non-root user before CMD to reduce container attack surface.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 11:34:26 +01:00
Marko Djordjevic
ecb23855b5 fix: add curl to ml-service for healthcheck 2026-02-16 17:31:08 +01:00
Marko Djordjevic
08bd9625ae fix: build TA-Lib from source in ML Dockerfile 2026-02-16 14:58:07 +01:00
Marko Djordjevic
1a653c5866 feat: add ML service scaffolding with Python FastAPI, Docker, and MLflow setup 2026-02-15 11:58:31 +01:00