Proyectos

Variables de entorno

Cómo Joppa mantiene el .env al día con los dominios HTTPS y los servicios vinculados, sin escribir nunca sin mostrar el diff.

La pestaña Entorno (E) gestiona el .env del proyecto. Joppa escribe en él dos cosas: las direcciones HTTPS de tus dominios y las conexiones a los servicios vinculados. Todo pasa por un diff que tú confirmas.

La pestaña Entorno: servicios conectados, variables gestionadas por Joppa y editor del .env

Conectar un servicio

El bloque de servicios lista los de Joppa. Usar PostgreSQL (o Redis, Mailpit…) abre un diff con dos opciones:

  • Vincular y escribir en .env: se escriben las variables del servicio, y se mantienen al día si cambia su puerto.
  • Vincular sin escribir: Joppa guarda el vínculo, sin tocar el archivo.

En el caso de una base de datos, si la base del proyecto todavía no existe, Joppa la crea. Un proyecto solo usa un servicio de cada tipo: conectar MySQL reemplaza a PostgreSQL.

Dejar de usar… hace lo contrario: Desvincular y limpiar el .env restaura el valor de .env.example (o quita la variable), Desvincular sin tocar el .env deja el archivo tal cual. Las variables que modificaste a mano se conservan.

Con qué nombres

Joppa escribe con los nombres que el proyecto ya lee: los del .env y luego los de .env.example (aunque estén comentados). Reconoce muchos alias (DATABASE_URL, DIRECT_URL, POSTGRES_PRISMA_URL, POSTGRES_*, PG*, MYSQL_*…) y conserva el esquema y los parámetros de tus URL existentes.

Si el proyecto no declara nada, Joppa usa los nombres habituales de su framework:

Servicio Laravel Otros
Base de datos DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD DATABASE_URL (Symfony: con ?serverVersion=…&charset=utf8)
Redis, Valkey REDIS_HOST, REDIS_PASSWORD, REDIS_PORT REDIS_URL
Mailpit MAIL_MAILER=smtp, MAIL_HOST, MAIL_PORT… Symfony MAILER_DSN · Rails SMTP_ADDRESS, SMTP_PORT · Django EMAIL_HOST, EMAIL_PORT · Node SMTP_HOST, SMTP_PORT
Meilisearch MEILISEARCH_HOST, MEILISEARCH_KEY, SCOUT_DRIVER Symfony MEILISEARCH_URL, MEILISEARCH_API_KEY
Typesense TYPESENSE_*, SCOUT_DRIVER TYPESENSE_HOST, TYPESENSE_PORT, TYPESENSE_PROTOCOL, TYPESENSE_API_KEY

El framework se reconoce por sus archivos: Laravel (artisan), Symfony, Django (manage.py), Rails, Node (package.json).

Las direcciones HTTPS

Todo valor http://localhost:PUERTO (o 127.0.0.1, [::1]) cuyo puerto tenga un dominio se convierte en la dirección HTTPS correspondiente, también dentro de una lista separada por comas:

- APP_URL=http://localhost:8000
+ APP_URL=https://miproyecto.test
- CORS_ORIGINS=http://localhost:5173,http://localhost:3000
+ CORS_ORIGINS=https://app.miproyecto.test,http://localhost:3000

Los valores por defecto de .env.example que faltan en el .env se tratan de la misma forma.

Gestionadas por Joppa

El bloque Gestionadas por Joppa agrupa las variables que Joppa quiere escribir: por actualizar y al día. Aplicar (N) abre el diff y escribe el archivo.

El editor del .env

El archivo se edita directamente en Joppa. Las líneas gestionadas por Joppa están marcadas.

  • / o ⌘ F: buscar en el archivo.
  • En .env.example, faltan aquí: la lista de claves que faltan, y + Añadir las claves que faltan (se añaden bajo # Desde .env.example (Joppa)).
  • ⌘ S: Revisar y guardar, con el diff.
  • Si el archivo cambia en el disco mientras lo editas, Joppa te avisa.

Si no hay .env, Joppa crea uno al guardar.

Lo que Joppa garantiza

  • Siempre un diff antes de escribir.
  • Una copia de seguridad: en la primera escritura, el archivo original se copia en .env.joppa-backup.
  • Cambios quirúrgicos: solo cambian las líneas afectadas; los comentarios, export, las notas al final de línea y los valores de varias líneas se quedan como están. Las claves nuevas se añaden al final, bajo un comentario (# PostgreSQL (Joppa)).
getjoppa.com › support

Cargando

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