Servicios

Visión general de los servicios

Las bases de datos, cachés, servidores de correo y motores de búsqueda que Joppa ejecuta en contenedores, y cómo añadirlos.

Un servicio es un servidor compartido por tus proyectos, que Joppa ejecuta en tu runtime de contenedores. Abre Servicios en la barra lateral: la página lista tus servicios y luego el catálogo.

La página Servicios: tus servicios en marcha y el catálogo

Servicio Versiones Puerto por defecto Cuenta o clave
PostgreSQL 18, 17, 16, 15, 14 5432 postgres / postgres
MySQL 9.7, 8.4, 8.0 3306 root / root
MariaDB 12.3, 11.8, 11.4, 10.11 3306 root / root
Redis 8.10, 8.8, 7.4 6379 —
Valkey 9.2, 9.1, 8.1 6379 —
Mailpit 1.31 SMTP 1025, buzón web 8025 —
Typesense 30.2, 29.1 8108 clave API propia del servidor (joppa-…)
Meilisearch 1.55, 1.54 7700 clave maestra propia del servidor (joppa-…)

La primera versión de la lista es la que se propone por defecto.

Añadir un servicio

Haz clic en + Añadir PostgreSQL (u otro) en el catálogo. Elige la versión y el puerto: Joppa propone el primer puerto libre a partir del puerto por defecto (un MariaDB añadido junto a un MySQL tomará el 3307). El servicio se inicia en un contenedor llamado joppa-<motor>.

Todos los servicios escuchan solo en 127.0.0.1: no son visibles desde la red.

Versión gratuita y Joppa Pro

La versión gratuita incluye PostgreSQL (con sus extensiones), MySQL, MariaDB y Mailpit, un servidor de cada uno. Redis, Valkey, Typesense y Meilisearch llevan una insignia Pro en la lista de servicios que añadir, y varios servidores del mismo motor (dos PostgreSQL, por ejemplo) también requieren Joppa Pro. La importación y la exportación de bases son gratuitas; sus instantáneas requieren Joppa Pro.

En la versión gratuita, al abrir uno de ellos aparece un aviso y no se puede guardar, con Ver Joppa Pro:

  • «Redis está incluido en Joppa Pro. La versión gratuita incluye PostgreSQL, MySQL, MariaDB y Mailpit.»
  • «La versión gratuita incluye un solo servidor PostgreSQL. Pásate a Joppa Pro para añadir más.»

La página de un servicio

  • Iniciar / Detener, y desde cuándo está en marcha.
  • Copiar URL del servidor (o la dirección, la clave API o la clave maestra según el servicio).
  • Abrir en TablePlus para las bases de datos y las cachés, Abrir buzón para Mailpit, Abrir vista previa para Meilisearch.
  • Proyectos: los proyectos que lo usan, Conectar un proyecto y Desvincular. Joppa escribe la dirección del servicio en su .env y la mantiene al día.
  • Recursos: CPU, memoria, red y disco del contenedor, medidos cada 5 s mientras la página está abierta, con la curva de los últimos cinco minutos. 100 % de CPU es un núcleo entero.
  • registro: los logs del contenedor a todo lo ancho, con Seguir.
  • Menú Acciones: Versión y puerto… (o Versión, puerto y extensiones… para PostgreSQL) y Quitar el servicio….

La página de PostgreSQL 18: estado, extensiones del servidor, recursos, registro y bases de datos de los proyectos

Cambiar de versión o de puerto

Los cambios se aplican en el próximo inicio; la página propone ↻ Aplicar los cambios (el contenedor se recrea, los datos se conservan).

  • Cada versión tiene sus propios datos, en un volumen (joppa-postgres-17). Pasar de la 17 a la 18 inicia un servidor vacío; volver a la 17 recupera sus bases de datos.
  • Cambiar de puerto actualiza el .env de los proyectos vinculados.

Quitar un servicio

Quitar el servicio… elimina el contenedor. Los datos se quedan en su volumen: al volver a añadir el mismo servicio se recuperan.

Puerto ocupado

Si el puerto ya está ocupado, la página muestra «✕ El puerto 5432 está ocupado por …» con dos opciones: Cambiar de puerto o Liberar el puerto. Joppa identifica al culpable y propone la acción adecuada:

Ocupante Acción propuesta
Contenedor Docker, Compose o Lerd Detenerlo
Servicio de Homebrew brew services stop … (ya no se iniciará al abrir sesión)
Postgres.app Imposible desde Joppa: haz clic en «Stop» en Postgres.app
Otro proceso Detenerlo directamente, previa confirmación
getjoppa.com › support

Cargando

¿No funciona? Escribe a [email protected]. Una simple pregunta: [email protected].