BookinglyTech News
Software

QueryAPIGate: servicio autoalojado que convierte consultas SQL guardadas en endpoints REST con control de acceso por clave

Con QueryAPIGate puedes exponer partes de tu base de datos como API sin exponer credenciales ni crear controladores personalizados. El proyecto está en versión 0.7 y usa un contenedor Docker con datos en JSON.

2 min de lecturar/selfhosted0 vistas

¿Qué es QueryAPIGate?

QueryAPIGate es un servicio autoalojado que toma una consulta SQL guardada y la expone como un endpoint REST. Cada consulta se valida con parámetros y se protege mediante API keys que se pueden restringir a consultas específicas, grupos de consultas, fechas de expiración, límites de tasa y listas blancas de IP.

Características clave

  • Control de acceso granular: cada clave puede limitarse a consultas individuales o a grupos. También se pueden establecer expiración, límites de tasa y listas blancas.
  • Auditoría completa: cualquier cambio de administrador se registra en un log de auditoría.
  • Interfaz y métricas: UI administrativa, OpenAPI Docs y métricas Prometheus.
  • Persistencia ligera: todos los datos (conexiones, consultas guardadas, claves, log) se guardan como JSON en un volumen Docker. Copiar la carpeta es suficiente para una copia de seguridad.
  • Compatibilidad: funciona con MySQL, PostgreSQL, ClickHouse, SQLite, DuckDB, H2 y cualquier driver JDBC.
  • Seguridad: por defecto es solo lectura; el acceso de escritura es opcional y puede limitarse por clave. No hace llamadas salientes y no recopila telemetría.
  • Uso sencillo: una sola imagen Docker (~230 MB), memoria en reposo ~70 MiB, corre como usuario no root.

Instalación rápida

docker run -d -p 5000:5000 -v queryapigate-data:/data \
  -e QUERYAPIGATE_API_KEY=change-me \
  -e QUERYAPIGATE_LOAD_EXAMPLES=yes \
  ghcr.io/anantharajuc/queryapigate:latest

Después abre http://localhost:5000/ui y pega la clave.

Licencia y estado

La versión 0.7 lleva licencia source‑available (FSL‑1.1‑MIT). El proyecto promete convertirse a MIT después de dos años y no permite su reventa como producto competitivo. Se trata de un proyecto joven, por lo que la estabilidad y la madurez pueden evolucionar.

Próximos pasos

Para usarlo en producción, colócalo detrás de un proxy inverso con TLS. La contraseña de conexión puede ser una referencia a variable de entorno o cifrada en reposo.

Recursos

QueryAPIGate ofrece una alternativa ligera a escribir controladores personalizados o exponer credenciales de base de datos directamente, especialmente útil en entornos donde la seguridad y la trazabilidad son prioritarias.