Si quieres mantener las peticiones dentro de tu propia infraestructura, puedes ejecutar una instancia privada con la imagen oficial de Docker Hub. Es multiplataforma y admite arquitecturas amd64 y arm64.

Inicio rápido

La forma más rápida de empezar:

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

Esto inicia Frankfurter en el puerto 8080 con una base de datos efímera. Algunos endpoints pueden devolver respuestas vacías hasta que finalice su carga inicial.

Producción

Para entornos de producción, monta un volumen para que la base de datos SQLite persista entre reinicios del contenedor:

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

Sin un volumen montado, la base de datos es efímera y se reconstruye en cada reinicio.

La opción --pull always asegura que Docker descargue la última imagen en cada arranque.

Claves API

Algunas fuentes de datos requieren claves API. Todas son gratuitas y opcionales.

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
Datos de Bank Al-Maghrib. Regístrate en apihelpdesk.centralbankofmorocco.ma.
BANXICO_API_KEY
Datos de Banco de México. Regístrate en banxico.org.mx.
BCCH_USER y BCCH_PASS
Datos de Banco Central de Chile. Regístrate en bcentral.cl.
BOT_API_KEY
Datos de Bank of Thailand. Regístrate en gateway.api.bot.or.th.
FRED_API_KEY
Datos de la Reserva Federal. Regístrate en fred.stlouisfed.org.
TCMB_API_KEY
Datos del Banco Central de Turquía. Regístrate en evds3.tcmb.gov.tr.