Saltar a contenido

Variables de Entorno

Referencia completa de variables de entorno del Sistema A3.

Variables Requeridas

Django

Variable Descripción Ejemplo
SECRET_KEY Llave secreta de Django django-insecure-...
DEBUG Modo debug True / False
ALLOWED_HOSTS Hosts permitidos localhost,*.herokuapp.com

Base de Datos

Variable Descripción Ejemplo
DATABASE_URL URL completa de PostgreSQL postgres://user:pass@host:5432/db
DB_NAME Nombre de la BD sistema_a3
DB_USER Usuario de BD postgres
DB_PASSWORD Contraseña de BD password123
DB_HOST Host de BD localhost
DB_PORT Puerto de BD 5432

AWS S3

Variable Descripción Ejemplo
USE_S3 Usar S3 para media True / False
AWS_ACCESS_KEY_ID Access key de AWS AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY Secret key de AWS wJalrXUtnFEMI/K7MDENG...
AWS_STORAGE_BUCKET_NAME Nombre del bucket sistema-a3-media
AWS_S3_REGION_NAME Región de S3 us-east-1

SAP API

Variable Descripción Ejemplo
SAP_API_URL URL base de la API http://atercerosb1.ddns.net
SAP_API_USERNAME Usuario de la API api_user
SAP_API_PASSWORD Contraseña de la API api_password

Web Push

Variable Descripción Ejemplo
VAPID_PUBLIC_KEY Public key VAPID BJxxxxxxxxx...
VAPID_PRIVATE_KEY Private key VAPID yyyyyyyyyy...
VAPID_ADMIN_EMAIL Email admin para VAPID admin@example.com

Variables Opcionales

Email

Variable Descripción Default
EMAIL_HOST Servidor SMTP smtp.gmail.com
EMAIL_PORT Puerto SMTP 587
EMAIL_HOST_USER Usuario SMTP -
EMAIL_HOST_PASSWORD Contraseña SMTP -
EMAIL_USE_TLS Usar TLS True

Ejemplo .env Completo

# === Django ===
SECRET_KEY=django-insecure-change-this-in-production
DEBUG=False
ALLOWED_HOSTS=localhost,127.0.0.1,sistemaa3.com

# === Base de Datos ===
DATABASE_URL=postgres://user:pass@localhost:5432/sistema_a3
DB_NAME=sistema_a3
DB_USER=postgres
DB_PASSWORD=mypassword
DB_HOST=localhost
DB_PORT=5432

# === AWS S3 ===
USE_S3=True
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_STORAGE_BUCKET_NAME=sistema-a3-media
AWS_S3_REGION_NAME=us-east-1

# === SAP API ===
SAP_API_URL=http://atercerosb1.ddns.net
SAP_API_USERNAME=api_user
SAP_API_PASSWORD=api_password

# === Web Push ===
VAPID_PUBLIC_KEY=BJxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
VAPID_PRIVATE_KEY=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
VAPID_ADMIN_EMAIL=admin@aterceros.com

# === Email (Opcional) ===
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_HOST_USER=noreply@aterceros.com
EMAIL_HOST_PASSWORD=app_specific_password
EMAIL_USE_TLS=True

Cómo Usar

Local

  1. Crear archivo .env en raíz del proyecto
  2. Agregar variables necesarias
  3. Django carga automáticamente con python-dotenv

Heroku

# Configurar variable
heroku config:set VARIABLE_NAME=valor --app aterceros

# Ver todas las variables
heroku config --app aterceros

# Eliminar variable
heroku config:unset VARIABLE_NAME --app aterceros

Seguridad

  • ⚠️ NUNCA commitear .env al repositorio
  • ⚠️ .env está en .gitignore
  • ⚠️ Usar secrets diferentes en producción vs desarrollo
  • ⚠️ Rotar secrets periódicamente

Verificar Variables

# Django shell
python manage.py shell

from django.conf import settings
print(settings.DEBUG)
print(settings.DATABASES)

Ver también: Configuración