Wenn du Anfragen in deiner eigenen Infrastruktur halten willst, betreib eine eigene Instanz mit dem offiziellen Image von Docker Hub. Das Image läuft auf amd64 und arm64.

Schnellstart

Am schnellsten geht's so:

docker run -d --init -p 8080:8080 lineofflight/frankfurter

Damit startest du Frankfurter auf Port 8080 mit einer flüchtigen Datenbank. Bis der erste Backfill abgeschlossen ist, liefern einige Endpunkte eventuell leere Ergebnisse.

Produktion

Im Produktivbetrieb bindest du ein Volume ein, damit die SQLite-Datenbank Neustarts des Containers übersteht:

docker run -d --init -p 8080:8080 \
  -e DATABASE_URL="sqlite:///data/db.sqlite3" \
  -v ./data:/data \
  --pull always \
  lineofflight/frankfurter

Ohne Volume ist die Datenbank flüchtig und wird bei jedem Neustart neu aufgebaut.

Mit --pull always holt Docker bei jedem Start das neueste Image.

API-Schlüssel

Einige Datenquellen brauchen einen API-Schlüssel. Die Schlüssel sind kostenlos und optional.

docker run -d --init -p 8080:8080 \
  -e DATABASE_URL="sqlite:///data/db.sqlite3" \
  -e BAM_API_KEY="your_key" \
  -e BANXICO_API_KEY="your_key" \
  -e BCCH_USER="your_email" \
  -e BCCH_PASS="your_password" \
  -e BOT_API_KEY="your_key" \
  -e FRED_API_KEY="your_key" \
  -e TCMB_API_KEY="your_key" \
  -v ./data:/data \
  --pull always \
  lineofflight/frankfurter
BAM_API_KEY
Daten der Bank Al-Maghrib. Registrierung unter apihelpdesk.centralbankofmorocco.ma.
BANXICO_API_KEY
Daten der Banco de México. Registrierung unter banxico.org.mx.
BCCH_USER und BCCH_PASS
Daten der Banco Central de Chile. Registrierung unter bcentral.cl.
BOT_API_KEY
Daten der Bank of Thailand. Registrierung unter gateway.api.bot.or.th.
FRED_API_KEY
Daten der Federal Reserve. Registrierung unter fred.stlouisfed.org.
TCMB_API_KEY
Daten der türkischen Zentralbank. Registrierung unter evds3.tcmb.gov.tr.