dotenvx para variables de entorno seguras
Qué cubre este artículo sobre dotenvx
- Qué es dotenvx y para qué sirve.
- Cómo encriptar archivos .env.
- Cómo gestionar secrets para diferentes entornos.
- Cómo integrar dotenvx en Docker, CI/CD y proyectos locales de IA.
- Problemas comunes y mejores prácticas.
Introducción: dotenvx para variables de entorno seguras
Los archivos .env sin protección representan un riesgo frecuente de seguridad. A menudo contienen claves API, contraseñas y tokens que terminan accidentalmente en repositorios o copias de seguridad. dotenvx es una herramienta moderna de código abierto que encripta archivos .env sin sacrificar la facilidad de uso. Permite versionear y compartir secrets sin revelar los valores reales.
Para proyectos locales de IA, dotenvx resulta especialmente útil cuando múltiples agentes, herramientas o miembros del equipo necesitan acceder a las mismas configuraciones.
Términos clave
- .env: Archivo con variables de entorno.
- DOTENV_KEY: Clave para desencriptar archivos de dotenvx.
- Encryption: Encriptación de los valores en el archivo
.env. - Environment: Configuraciones separadas para
dev,stagingyprod. - Vault: dotenvx también ofrece funciones avanzadas de gestión.
- CLI: Herramienta de línea de comandos de dotenvx.
¿Por qué dotenvx?
- Encriptación sencilla: Adiós a las claves en texto plano en archivos
.env. - Múltiples entornos: Gestiona
dev.env,prod.envystaging.enven paralelo. - Intercambio en equipo: Los archivos encriptados pueden estar en Git.
- Integración CI/CD: Almacena la clave como un secret, desencripta
.enven tiempo de ejecución. - Sin dependencia de proveedor: Herramienta de código abierto, posible ejecutar localmente.
Instalación
dotenvx se puede instalar como paquete npm o como herramienta standalone:
npm install -g @dotenvx/dotenvx
O sin Node.js:
curl -fsS https://dotenvx.sh | sh
Primera encriptación
En un directorio del proyecto:
echo 'ANTHROPIC_API_KEY=DEIN_API_KEY' > .env
dotenvx encrypt
dotenvx crea un archivo .env encriptado y muestra el DOTENV_KEY. Esta clave debe guardarse en un lugar seguro.
Usar valores desencriptados
DOTENV_KEY='DEIN_DOTENV_KEY' dotenvx run -- node app.js
Todas las variables de entorno estarán disponibles para la aplicación como es habitual.
Múltiples entornos
echo 'ANTHROPIC_API_KEY=dev-key' > .env.dev
echo 'ANTHROPIC_API_KEY=prod-key' > .env.prod
dotenvx encrypt -f .env.dev
dotenvx encrypt -f .env.prod
En tiempo de ejecución:
DOTENV_KEY='...' dotenvx run -f .env.prod -- node app.js
Integración en Docker
FROM node:20
RUN curl -fsS https://dotenvx.sh | sh
COPY .env.vault /app/.env.vault
WORKDIR /app
CMD ["sh", "-c", "dotenvx run -- node app.js"]
El DOTENV_KEY se pasa como variable de entorno durante el inicio.
Git y copias de seguridad
Los archivos .env encriptados pueden estar en el repositorio. Lo importante:
- Committ solo el archivo encriptado.
- Nunca guardes
DOTENV_KEYen el control de versiones. - Mantén copias de seguridad de la clave en un lugar seguro, separado del código.
dotenvx vs. gestores de secrets
- dotenvx: Simple, basado en archivos, adecuado para equipos pequeños y proyectos.
- HashiCorp Vault / Infisical: Gestión centralizada, rotación, credentials dinámicos.
Para aplicaciones individuales, dotenvx a menudo se configura más rápido. Con muchos servicios y equipos, un gestor de secrets dedicado tiene más sentido.
Problemas comunes
- Perder la clave: Sin DOTENV_KEY, los valores no se pueden recuperar.
- Commitear
.envsin encriptar: Solo la versión encriptada debe ir a Git. - Mostrar la clave en logs: Nunca imprimas DOTENV_KEY.
- Cargar el archivo incorrecto: Verifica el parámetro
-f. - Confiar solo en encriptación: Además, presta atención a permisos de acceso y backups.
Enlaces y recursos adicionales
- BotServ.de Variables de entorno
- BotServ.de Gestión de secrets
- BotServ.de HashiCorp Vault
- BotServ.de Infisical
Preguntas frecuentes sobre dotenvx
¿Es gratuito dotenvx? Sí, la versión de código abierto es gratuita.
¿Puedo usar dotenvx sin Node.js? Sí, existe un script standalone.
¿Qué sucede si pierdo el DOTENV_KEY? Los valores no son recuperables sin la clave.
¿Debo commitear archivos .env encriptados en Git?
Sí, ese es uno de los beneficios. Pero la clave nunca debe llegar al repositorio.
¿Es dotenvx un gestor de secrets completo? No, es una herramienta simple de encriptación y carga. Para escenarios complejos, Vault o Infisical son mejores opciones.
Fuentes y lecturas adicionales
- dotenvx: https://dotenvx.com/
- dotenvx Docs: https://dotenvx.com/docs/
- dotenvx GitHub: https://github.com/dotenvx/dotenvx
Resumen: dotenvx para variables de entorno seguras
dotenvx es una forma sencilla de encriptar archivos .env manteniendo la facilidad de uso. Se adapta bien a equipos pequeños, proyectos locales de IA y pipelines CI/CD donde los secrets no deben estar en texto plano en el repositorio. Lo crucial es manejar el DOTENV_KEY con seguridad: sin él, los valores se pierden. Para necesidades más complejas como rotación o credentials dinámicos, un gestor de secrets es la mejor opción.


