Add Strike ticker poller, Docker .env config, and Frankfurter retry logic

- Poll Strike API every 10s, store all rates as JSONB in strike_price table
- Move Docker env vars to .env file, use shared network for cross-project communication
- Add startup retry (5x 5s) for Frankfurter poller to handle container race condition

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-06 08:50:21 +01:00
co-authored by Claude Opus 4.6
parent 26420fd6ec
commit dbf19566e8
8 changed files with 122 additions and 11 deletions
+14 -5
View File
@@ -1,16 +1,25 @@
networks:
shared:
name: shared
external: true
services:
btcdata:
build: .
restart: unless-stopped
ports:
- "4101:4101"
- "${DOCKER_BTCDATA_PORT}:${DOCKER_BTCDATA_PORT}"
depends_on:
- frankfurter
networks:
- default
- shared
environment:
BTCDATA_PORT: "4101"
JDBC_URL: "jdbc:postgresql://postgres:5432/btcprod?user=postgres&password=ratata,123"
CORS_ORIGIN: "http://localhost:4041"
FRANKFURTER_URL: "http://frankfurter:8080"
BTCDATA_PORT: "${DOCKER_BTCDATA_PORT}"
JDBC_URL: "${DOCKER_JDBC_URL}"
CORS_ORIGIN: "${DOCKER_CORS_ORIGIN}"
FRANKFURTER_URL: "${DOCKER_FRANKFURTER_URL}"
STRIKE_API_KEY: "${STRIKE_API_KEY}"
extra_hosts:
- "postgres:host-gateway"