Iniciar sesiónCrear servidor
Apps y bots

Variables de entorno de tu app o bot: cómo configurarlas

Guarda tokens y claves de API como variables de entorno cifradas, importa o exporta tu .env y aplica los cambios con un reinicio desde el panel.

5 min de lectura#environment variables#env variables#.env file#bot token#api keys#variables de entorno#archivo .env#secretos app

Las variables de entorno de tu app de SolumeCore se configuran en Código > Variables: añade un nombre y un valor, pulsa Guardar variables y reinicia la app para que las lea. Es el lugar adecuado para tokens de bots, claves de API y URL de bases de datos, porque los valores se guardan cifrados y no hace falta que aparezcan en tu código ni en Git.

Añade una variable

  1. Abre tu app en el panel y entra en Código > Variables.
  2. Pulsa Agregar una variable (o Agregar variable, debajo de la lista, si ya tienes algunas). Truco: también puedes pegar un .env entero en un campo de nombre para cargar varias de una vez.
  3. Escribe el nombre (por ejemplo API_KEY) y el valor.
  4. Pulsa Guardar variables.
  5. Pulsa Reiniciar para aplicar. La app solo lee sus variables al arrancar, así que hasta que se reinicie sigue viendo las anteriores.
La pantalla de variables con PORT y PUBLIC_URL puestas por el panel y una variable propia con el valor oculto
La pantalla de variables con PORT y PUBLIC_URL puestas por el panel y una variable propia con el valor oculto

Los valores guardados quedan ocultos. Pulsa el ojo junto a una variable cuando necesites verla; solo entonces el panel la solicita.

Reglas de nombres y límites

  • Los nombres usan letras, números y guiones bajos, y no pueden empezar por un número. Por convención van en mayúsculas, como DISCORD_TOKEN.
  • Puedes tener hasta 100 variables, y cada valor puede medir hasta 8.192 caracteres.
  • Algunos nombres son del sistema y no se pueden usar: PORT, PUBLIC_URL, STARTUP, HOME, USER, PATH, PWD, SHELL, HOSTNAME, INTERNAL_IP, TZ y cualquiera que empiece por SERVER_. Si escribes uno, el campo te avisa de que ese nombre pertenece al entorno de ejecución.

Las dos variables que pone el panel por ti

Arriba de la lista, bloqueadas, verás:

  • PORT: el puerto en el que tu app debe escuchar si atiende peticiones web.
  • PUBLIC_URL: la dirección pública HTTPS de tu app. Está vacía hasta que conectes un dominio; mira Conectar un dominio a tu app con HTTPS.

Importa o exporta un archivo .env

Si ya tienes un archivo .env, no hace falta que lo escribas de nuevo.

  1. Pulsa Importar / exportar > Importar .env.
  2. Suelta el archivo en el recuadro o pega su contenido. Se entienden los comentarios, las comillas y los valores de varias líneas (como las claves privadas), y el diálogo te dice cuántas variables encontró.
  3. Deja apagado Reemplazar todas mis variables para sumarlas a las que ya tienes (las del mismo nombre se sobrescriben), o enciéndelo para quedarte solo con las importadas.
  4. Pulsa Importar y reinicia la app.

Exportar .env descarga tus variables como archivo. Contiene tus secretos en texto plano, así que nunca lo subas a Git ni lo compartas.

Lee las variables en tu código

Usa la forma estándar de cada lenguaje:

javascript
// Node.js
const token = process.env.DISCORD_TOKEN;
python
# Python
import os

token = os.environ["DISCORD_TOKEN"]

Si tu app atiende peticiones web, escucha en 0.0.0.0 y en la variable PORT:

javascript
// Node.js
app.listen(process.env.PORT, '0.0.0.0');
python
# Python
app.run(host="0.0.0.0", port=int(os.environ["PORT"]))

La pantalla Variables también muestra un fragmento en el lenguaje de tu app que usa el nombre de tu primera variable.

Aplica los cambios

Al guardar aparece un aviso que dice Tu app todavía no ve los últimos cambios. Reiniciar para aplicar reinicia la app con los valores nuevos; tarda unos segundos y puedes pulsar Abrir consola para verla arrancar. Si tu app web usa deploys sin caída, la pantalla Deploy también ofrece Aplicar sin caída, que arranca de nuevo la versión actual junto a la que está en marcha y cambia el tráfico.

¿Escribir también un archivo .env?

Algunas librerías, como dotenv, leen un archivo llamado .env. El interruptor Escribir también un archivo .env escribe uno junto a tu código cada vez que aplicas cambios.

!
Atención

Ese archivo guarda tus variables, secretos incluidos, en texto plano dentro de los archivos de la app. Cualquier persona con la que compartas el acceso a archivos podrá leerlo. Si das acceso a otras personas, deja el interruptor apagado y lee las variables directamente del entorno.

Solución de problemas

  • Mi código recibe undefined o KeyError: la app no se ha reiniciado desde que guardaste. Pulsa Reiniciar para aplicar y revisa que el nombre esté escrito exactamente igual, con las mismas mayúsculas.
  • El nombre es rechazado: usa solo letras, números y guiones bajos, no empieces con un número y evita los nombres reservados de la lista anterior.
  • Subiste un secreto a Git por error: bórralo del repositorio, cámbialo en el proveedor (por ejemplo con Reset Token en un bot de Discord) y guarda aquí el valor nuevo.
  • ¿Pierdo las variables con un deploy? No. Los deploys y las vueltas atrás conservan las variables que guardaste en el panel. Incluso Reinstalar desde cero borra archivos, no tus variables.

Preguntas frecuentes

¿Son seguras las variables de entorno en SolumeCore?

Los valores se guardan cifrados, quedan ocultos en el panel hasta que pulsas el ojo y solo se envían a tu app cuando arranca. Mantenlas fuera de tu código y de tu repositorio, que es la principal fuente de filtraciones.

¿Tengo que reiniciar la app después de cambiar una variable?

Sí. La app lee su entorno cuando arranca. Usa Reiniciar para aplicar después de guardar.

¿Cómo añado el token de un bot de Discord?

Guárdalo como DISCORD_TOKEN, aquí o con el asistente de bot de Discord, que además comprueba el token con Discord. Mira Cómo alojar un bot de Discord 24/7.

¿Puedo conectar una base de datos mediante una variable?

Sí. Al añadir una base de datos administrada puedes pedir que el panel cree por ti la variable de conexión (por ejemplo DATABASE_URL). Mira Base de datos para tu app.

Artículos relacionados

¿Buscas un lugar donde ejecutar tu propio código con los secretos a salvo? Mira los planes de apps.

¿Te fue útil este artículo?
Variables de entorno de tu app o bot: cómo configurarlas