Empezar /
Inicio rápido
Arranca Gresbase con Docker Compose, apúntalo a tu base de datos PostgreSQL y ábrelo en el navegador.
En esta página
Antes de empezar#
- Docker con Compose v2 (
docker compose versiondebe responder). - Una base de datos PostgreSQL a la que llegue el contenedor y un usuario para conectarte. PostgreSQL 12 o posterior (mira las versiones compatibles).
Para echar un vistazo antes, arranca la demo con una base de ejemplo. Solo necesita Docker:
curl -fsSLO https://raw.githubusercontent.com/amtzespinosa/gresbase/main/deploy/docker-compose.demo.yml
docker compose -f docker-compose.demo.yml up -dDespués abre http://localhost:8080. docker compose -f docker-compose.demo.yml down -v la borra.
Si PostgreSQL corre en la misma máquina pero fuera de Docker, localhost dentro del contenedor no es tu máquina. Usa host.docker.internal en Docker Desktop o la IP del equipo.
Instalar y arrancar#
-
Crea el fichero de Compose#
Guárdalo en una carpeta vacía como
docker-compose.yml. Si no usas Compose, la pestaña docker run hace lo mismo con un solo comando.services: gresbase: image: ghcr.io/amtzespinosa/gresbase:latest restart: unless-stopped environment: DATABASE_URL: postgres://USER:PASSWORD@HOST:5432/DBNAME GRESBASE_READ_ONLY: "false" volumes: - gresbase-data:/data ports: - "127.0.0.1:8082:8080" volumes: gresbase-data:docker run -d --name gresbase \ -e DATABASE_URL=postgres://USER:PASSWORD@HOST:5432/DBNAME \ -e GRESBASE_READ_ONLY=false \ -p 127.0.0.1:8082:8080 \ -v gresbase-data:/data \ --restart unless-stopped \ ghcr.io/amtzespinosa/gresbase:latestDentro del contenedor, Gresbase escucha en el puerto 8080. La línea
portslo publica como 8082 y solo en tu máquina. -
Apunta a tu base de datos#
Sustituye
USER,PASSWORD,HOSTyDBNAMEenDATABASE_URL. Tiene que empezar porpostgres://opostgresql://. Si la contraseña lleva caracteres como@,:o/, codifícalos para URL (@pasa a ser%40).Añade
?sslmode=disableal final si tu servidor no usa SSL, por ejemplo un contenedorpostgresen la misma red de Compose. Tienes más opciones en Conectar con PostgreSQL. -
Arráncalo#
Terminaldocker compose up -d docker compose logs -f gresbaseCuando está listo, el log muestra
starting gresbase. Si la base aún no responde, Gresbase reintenta durante 30 segundos como mucho y luego se cierra explicando el motivo. Una contraseña incorrecta, una base que no existe o un fallo de SSL lo paran en el acto. Conrestart: unless-stopped, Docker lo vuelve a arrancar. -
Abre Gresbase#
Entra en http://localhost:8082. La tarjeta de conexión, abajo en la barra lateral, muestra un punto verde cuando Gresbase llega a tu base de datos. Si sale rojo, verás No se puede conectar con la base.
Comprueba que está sano#
La imagen trae un healthcheck que llama a /healthz cada 10 segundos. Tras el primer arranque, docker compose ps debería mostrar el contenedor como healthy.
docker compose psQuién puede abrirlo#
Este Compose no define ninguna cuenta, así que no hay login. En ese caso Gresbase solo responde a peticiones dirigidas a localhost, 127.0.0.1 o [::1], y la barra lateral muestra Solo este equipo.
Para abrirlo a otras personas, define una cuenta con GRESBASE_USER y GRESBASE_PASSWORD y pon HTTPS delante. Lo explican Inicio de sesión y cuentas y Seguridad y red.
No publiques el puerto en todas las interfaces (0.0.0.0) sin una cuenta y sin HTTPS delante. Las contraseñas y los datos viajarían en claro.
Explorar sin cambiar nada#
Pon GRESBASE_READ_ONLY a "true" para explorar una base de producción sin riesgo. Gresbase rechaza cualquier escritura y sus sesiones en la base también son de solo lectura. En la barra lateral aparece el distintivo Solo lectura. Más en Modo solo lectura.
Conserva el volumen de datos#
Gresbase guarda sus propios datos en /data: gresbase.json con los ajustes y las conexiones guardadas, secret.key, que cifra los secretos que hay dentro, y tus consultas guardadas. Los datos de tu PostgreSQL nunca van ahí. Los detalles están en El volumen de datos.
Si borras el volumen (docker compose down -v), pierdes esa configuración y tus consultas guardadas, y se cierran todas las sesiones.
La configuración de un vistazo#
| Variable | Por defecto | Qué hace |
|---|---|---|
DATABASE_URL |
— | Cadena de conexión de la base que vas a gestionar. Sin ella se abre el asistente de configuración. |
GRESBASE_READ_ONLY |
false |
Bloquea cualquier escritura en la base. |
GRESBASE_USER / GRESBASE_PASSWORD |
— | Cuenta para iniciar sesión. Se definen las dos o ninguna. |
GRESBASE_SECRET_KEY |
Se genera en /data/secret.key |
Cifra los secretos de gresbase.json. Mínimo 32 caracteres. |
Todas las opciones están en Variables de entorno.
Siguientes pasos#
- Haz el recorrido rápido por las pantallas principales.
- Escribe tu primera consulta en el editor SQL y ejecútala con ⌘ ↵ (Ctrl ↵ en Windows y Linux).
- Antes de abrirlo a tu red, lee Seguridad y red.