Referencia de Configuración

NoxPanel se configura mediante variables de entorno definidas en el archivo .env en la raíz del proyecto. Este archivo es leído automáticamente por Docker Compose y por django-environ dentro de la aplicación.

Configuración Django

Variable

Descripción

Valor por Defecto

SECRET_KEY

Clave secreta de Django. Obligatoria en producción.

Auto-generada (dev)

DEBUG

Modo debug. Nunca True en producción.

False

ALLOWED_HOSTS

Hosts permitidos (separados por coma)

localhost,127.0.0.1,web,nginx

LANGUAGE_CODE

Idioma por defecto

es

TIME_ZONE

Zona horaria

UTC

SITE_DOMAIN

Dominio público del panel

localhost

SITE_NAME

Nombre del panel (UI)

NoxPanel

SITE_DESCRIPTION

Descripción del panel

Panel de gestión de Proxmox

SITE_VERSION

Versión del panel

1.0.0

ENVIRONMENT

Entorno (development, staging, production)

development

SECURE_SSL_REDIRECT

Redirigir HTTP a HTTPS

True (en prod)

DJANGO_LOG_LEVEL

Nivel de log de Django

INFO

Base de Datos

Variable

Descripción

Valor por Defecto

DATABASE_URL

URL de conexión PostgreSQL (formato dj-database-url)

postgres://noxpanel:noxpanel@db:5432/noxpanel

POSTGRES_DB

Nombre de la base de datos

noxpanel

POSTGRES_USER

Usuario de PostgreSQL

noxpanel

POSTGRES_PASSWORD

Contraseña de PostgreSQL

noxpanel

Warning

Cambia siempre POSTGRES_PASSWORD en producción. El valor por defecto es solo para desarrollo local.

Proxmox

Variable

Descripción

Valor por Defecto

PROXMOX_API_INTERNAL

URL de la API de Proxmox (interna, desde Docker)

https://proxmox:8006

PROXMOX_PUBLIC_PROXY

URL pública del proxy Proxmox (para VNC del cliente)

(vacío)

PROXMOX_USER

Usuario de API de Proxmox (ej: root@pam)

(vacío)

PROXMOX_PASSWORD

Contraseña del usuario Proxmox

(vacío)

PROXMOX_VERIFY_SSL

Verificar certificado SSL de Proxmox

False

PROXMOX_SSH_PASSWORD

Contraseña SSH para operaciones de disco

Igual a PROXMOX_PASSWORD

PROXMOX_API_PORT

Puerto de la API de Proxmox

8006

PROXMOX_API_PROTOCOL

Protocolo (http/https)

https

Motor de Hosting

Variable

Descripción

Valor por Defecto

HOSTING_PROVIDER

Proveedor de hosting (ispconfig, mock)

mock

ISPCONFIG_URL

URL del motor de hosting

http://hosting-core:8080

ISPCONFIG_USERNAME

Usuario admin del motor de hosting

admin

ISPCONFIG_PASSWORD

Contraseña del admin del motor de hosting

(vacío, se lee de archivo compartido)

ISPCONFIG_ADMIN_PASSWORD

Contraseña inicial para instalación del motor de hosting

(auto-generada)

HOSTING_ENABLED

Habilitar módulo de hosting

True

MULTI_TENANT_ENABLED

Habilitar modo multi-tenant

True

TENANT_ISOLATION_STRICT

Aislamiento estricto entre tenants

True

SERVER_IP

IP pública del servidor (para registros DNS A)

0.0.0.0

DEFAULT_HOSTING_QUOTA_SITES

Cuota por defecto de sitios

10

DEFAULT_HOSTING_QUOTA_DATABASES

Cuota por defecto de bases de datos

5

DEFAULT_HOSTING_QUOTA_DOMAINS

Cuota por defecto de dominios

5

DEFAULT_HOSTING_QUOTA_STORAGE_GB

Cuota por defecto de almacenamiento (GB)

10

Note

Si ISPCONFIG_PASSWORD no está definida en .env, NoxPanel intentará leerla desde el archivo compartido /shared/ispconfig-passwords.env generado por el contenedor hosting-core durante la instalación de la plataforma de hosting.

Celery (Tareas Asíncronas)

Variable

Descripción

Valor por Defecto

CELERY_BROKER_URL

URL del broker Redis para Celery

redis://redis:6379/0

CELERY_RESULT_BACKEND

Backend de resultados Celery

redis://redis:6379/0

Tareas programadas por defecto:

  • track-vm-usage-hourly — Cada hora

  • track-hosting-usage-daily — Cada 24h

  • generate-monthly-invoices — Diario (genera mensualmente)

  • check-overdue-invoices — Cada hora

  • fetch-ticket-emails — Cada 5 minutos

  • check-sla-breaches — Cada 15 minutos

  • auto-close-resolved-tickets — Diariamente

Stripe (Pasarela de Pago)

Variable

Descripción

Valor por Defecto

STRIPE_SECRET_KEY

Clave secreta de Stripe

(vacío)

STRIPE_PUBLISHABLE_KEY

Clave pública de Stripe

(vacío)

STRIPE_WEBHOOK_SECRET

Secreto para verificar webhooks de Stripe

(vacío)

PayPal (Pasarela de Pago)

Variable

Descripción

Valor por Defecto

PAYPAL_MODE

Modo de PayPal (sandbox o live)

sandbox

PAYPAL_CLIENT_ID

Client ID de PayPal

(vacío)

PAYPAL_CLIENT_SECRET

Client Secret de PayPal

(vacío)

Email (SMTP)

Variable

Descripción

Valor por Defecto

EMAIL_HOST

Servidor SMTP

smtp.gmail.com

EMAIL_PORT

Puerto SMTP

587

EMAIL_USE_TLS

Usar TLS

True

EMAIL_HOST_USER

Usuario SMTP

(vacío)

EMAIL_HOST_PASSWORD

Contraseña SMTP

(vacío)

DEFAULT_FROM_EMAIL

Email remitente por defecto

noreply@<SITE_DOMAIN>

Note

En modo debug (DEBUG=True), los emails se imprimen en la consola en lugar de enviarse por SMTP.

Superusuario Inicial

Variable

Descripción

Valor por Defecto

DJANGO_SUPERUSER_USERNAME

Nombre de usuario del superadmin

admin

DJANGO_SUPERUSER_EMAIL

Email del superadmin

admin@noxpanel.local

DJANGO_SUPERUSER_PASSWORD

Contraseña del superadmin

changeme

DJANGO_SUPERUSER_FORCE_PASSWORD

Forzar cambio de contraseña al iniciar

False

Danger

Cambia SIEMPRE DJANGO_SUPERUSER_PASSWORD y SECRET_KEY antes de desplegar en producción.

Monitorización

Variable

Descripción

Valor por Defecto

SENTRY_DSN

DSN de Sentry para seguimiento de errores

(vacío, deshabilitado)

SENTRY_TRACES_SAMPLE_RATE

Tasa de muestreo de trazas (0.0 - 1.0)

0.1

CORS y CSRF

Variable

Descripción

Valor por Defecto

CORS_ALLOWED_ORIGINS

Orígenes permitidos para CORS

Basado en SITE_DOMAIN

CSRF_TRUSTED_ORIGINS

Orígenes confiables para CSRF

Basado en SITE_DOMAIN

COOKIE_DOMAIN

Dominio de cookies (ej: .example.com)

(vacío)

Ejemplo de Archivo .env

# === Django ===
SECRET_KEY=mi-clave-secreta-muy-larga-y-segura-aqui
DEBUG=False
ALLOWED_HOSTS=panel.example.com,localhost
SITE_DOMAIN=panel.example.com
SITE_NAME=NoxPanel
ENVIRONMENT=production

# === Base de Datos ===
POSTGRES_DB=noxpanel
POSTGRES_USER=noxpanel
POSTGRES_PASSWORD=password_seguro_aqui

# === Proxmox ===
PROXMOX_API_INTERNAL=https://192.168.1.100:8006
PROXMOX_USER=root@pam
PROXMOX_PASSWORD=proxmox_password
PROXMOX_VERIFY_SSL=False

# === Hosting Engine ===
HOSTING_PROVIDER=ispconfig
SERVER_IP=203.0.113.10

# === Celery ===
CELERY_BROKER_URL=redis://redis:6379/0

# === Stripe ===
STRIPE_SECRET_KEY=sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...

# === PayPal ===
PAYPAL_MODE=live
PAYPAL_CLIENT_ID=...
PAYPAL_CLIENT_SECRET=...

# === Email ===
EMAIL_HOST=smtp.example.com
EMAIL_PORT=587
EMAIL_HOST_USER=noreply@example.com
EMAIL_HOST_PASSWORD=smtp_password

# === Superusuario ===
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_EMAIL=admin@example.com
DJANGO_SUPERUSER_PASSWORD=password_muy_seguro