Referencia de configuración
Todas las variables, puertos, rutas, endpoints y límites de Gresbase en una sola página.
En esta página
Variables#
Todas son opcionales. Los detalles, formatos y ejemplos están en Variables de entorno. Las marcadas con Ajustes también se cambian desde la app; si defines la variable, manda ella y el ajuste queda bloqueado.
| Variable | Por defecto | Efecto |
|---|---|---|
DATABASE_URL |
— | Base que se gestiona. Sin ella, conexiones guardadas o el asistente. |
GRESBASE_PORT |
8080 |
Puerto en el que escucha Gresbase dentro del contenedor. |
GRESBASE_BASE_PATH |
/ |
Sirve bajo un prefijo como /gresbase, detrás de un proxy. |
GRESBASE_USER |
— | Nombre de la cuenta. Necesita GRESBASE_PASSWORD. |
GRESBASE_PASSWORD |
— | Contraseña de la cuenta. Necesita GRESBASE_USER. |
GRESBASE_SESSION_SECRET |
Generado | Firma las cookies de sesión. Mínimo 32 caracteres. Si no la defines, se genera una vez y se guarda cifrada en gresbase.json. |
GRESBASE_SESSION_TTL |
12h |
Cuánto dura un inicio de sesión. Ajustes. |
GRESBASE_TRUSTED_PROXIES |
— | Proxies inversos (IP o CIDR) cuyo X-Forwarded-For da la IP del cliente para el límite de intentos. |
GRESBASE_ALLOWED_HOSTS |
— | Nombres de Host extra aceptados sin login, separados por comas. Ajustes. |
GRESBASE_READ_ONLY |
false |
Todas las conexiones rechazan escrituras. Ajustes. |
GRESBASE_STATEMENT_TIMEOUT |
30s |
Límite de cada consulta. Ajustes. |
GRESBASE_IMPORT_TIMEOUT |
10m |
Límite de una importación CSV. Ajustes. |
GRESBASE_SQL_MAX_ROWS |
1000 |
Filas por resultado en el editor SQL, de 1 a 100000. Ajustes. |
GRESBASE_MAX_CONNS |
10 |
Conexiones por pool, de 1 a 1000. Ajustes. |
GRESBASE_MAX_POOLS |
20 |
Pools abiertos a la vez, de 1 a 1000. Ajustes. |
GRESBASE_POOL_IDLE_TIMEOUT |
10m |
Un pool sin uso se cierra tras este tiempo. El de DATABASE_URL sigue abierto. Ajustes. |
GRESBASE_DATA_DIR |
/data |
Carpeta de gresbase.json, secret.key y snippets/. |
GRESBASE_SECRET_KEY |
secret.key |
Clave que cifra los secretos de gresbase.json. Mínimo 32 caracteres. |
GRESBASE_DB_HOST |
— | Fija el servidor de los formularios de conexión (asistente, modo libre). |
GRESBASE_DB_PORT |
— | Fija el puerto de esos formularios. |
GRESBASE_DB_NAME |
— | Fija la base de datos de esos formularios. |
GRESBASE_DB_USER |
— | Fija el usuario de esos formularios. |
GRESBASE_MODE_FREE |
false |
Modo libre: cada persona entra con sus credenciales de PostgreSQL. |
GRESBASE_ALLOWED_DB_HOSTS |
— | Servidores permitidos en modo libre: nombres, IP o CIDR. Vacío permite cualquiera. |
GRESBASE_MAX_SESSIONS |
10 |
Sesiones simultáneas en modo libre, de 1 a 1000. |
GRESBASE_SETUP_TOKEN |
Aleatorio | Token que pide el asistente desde otras máquinas. Mínimo 16 caracteres. Si no lo defines, se imprime en el log. |
GRESBASE_LANG |
en |
Idioma por defecto de la interfaz: en o es. Ajustes. |
GRESBASE_LOG_LEVEL |
info |
debug, info, warn o error. |
GRESBASE_LOG_FORMAT |
text |
text o json. |
Las duraciones llevan unidad: 30s, 10m, 12h. Los cambios en Ajustes se aplican al reiniciar, salvo el idioma y el límite de filas, que se aplican al momento.
Puertos#
| Puerto | Dónde |
|---|---|
8080 |
Dentro del contenedor (EXPOSE 8080). Se cambia con GRESBASE_PORT. |
8082 |
En el anfitrión, en el Inicio rápido, publicado solo en 127.0.0.1. |
Rutas#
| Ruta | Qué es |
|---|---|
/data |
Directorio de datos, declarado como volumen en la imagen. Lo escribe el usuario 65532, con el que corre la imagen. |
/data/gresbase.json |
Ajustes, conexiones guardadas y cuenta de administrador. Permisos 0600. |
/data/secret.key |
Clave de cifrado, 64 caracteres hexadecimales. No se crea si defines GRESBASE_SECRET_KEY. |
/data/snippets/ |
Consultas guardadas, como ficheros .sql. |
/licenses/ |
LICENSE, NOTICE, TRADEMARKS.md y THIRD_PARTY_NOTICES.txt. |
/gresbase |
El binario, que también es el punto de entrada de la imagen. |
Cómo copiar /data está en Copias de seguridad.
Endpoints y comandos#
| Qué | Comportamiento |
|---|---|
GET /healthz |
200 {"status":"ok"}. En modo setup, 200 {"status":"setup"}. Con DATABASE_URL, 503 {"status":"unavailable"} si esa base no responde en 2 s. Abierto sin login. Bajo GRESBASE_BASE_PATH, si lo defines. |
gresbase healthcheck |
Consulta el /healthz local y sale con 0 o 1. Solo lee GRESBASE_PORT y GRESBASE_BASE_PATH. |
gresbase version |
Imprime gresbase <versión>. También valen -version y --version. |
La imagen ejecuta la comprobación de salud por su cuenta:
HEALTHCHECK --interval=10s --timeout=5s --start-period=40s --retries=3 CMD ["/gresbase", "healthcheck"]Para ver la versión de un contenedor en marcha:
docker compose exec gresbase /gresbase versionLímites#
| Límite | Valor |
|---|---|
| Fichero CSV para importar | 100 MB |
| Filas por página en el grid | 50, 100 o 200; 50 por defecto |
| Filas por resultado en el editor SQL | GRESBASE_SQL_MAX_ROWS, 1000 por defecto |
| Texto de una celda del grid | Los primeros 10 KB; el valor completo se carga al pedirlo |
| Consulta guardada | 1 MB |
| Historial del editor SQL | 500 entradas, en cada navegador |
| Intentos fallidos de inicio de sesión | 5 por minuto e IP |
Conexión a DATABASE_URL al arrancar |
Reintenta durante 30 s como mucho |
| Probar conexión | 10 s |
| Parada | Espera hasta 10 s a las peticiones abiertas |