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
- Crear archivo
.env en raíz del proyecto
- Agregar variables necesarias
- 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