.. _configuration: Configuración ============= La configuración del proyecto se puede realizar completamente mediante el uso de **variables de entorno** que estén definidas en el momento de su ejecución. Variables de Entorno -------------------- Lista de variables de entorno que están disponibles para la configuración. PostgreSQL ^^^^^^^^^^ POSTGRES_HOST (obligatoria) Nombre del *host* donde está la base de datos. POSTGRES_PORT (obligatoria) Puerto para acceder a la base de datos. POSTGRES_DB (obligatoria) Nombre de la base de datos. POSTGRES_USER (obligatoria) Usuario de la base de datos. POSTGRES_PASSWORD (obligatoria) Contraseña de la base de datos. CONN_MAX_AGE Máximo tiempo de vida de la conexión a la base de datos, en segundos. Por defecto ``60``. Django ^^^^^^ DJANGO_SETTINGS_MODULE Módulo donde está la configuración de Django, por defecto ``config.settings.production``. DJANGO_SECRET_KEY (obligatoria) Cadena de texto que ha de ser única e impredecible, que se usa para las funciones criptográficas. DJANGO_ADMIN_URL Ruta para acceder al panel de administración de Django. Por defecto ``admin/``. DJANGO_DEBUG Activa el modo ``debug``, para el modo desarrollo. DJANGO_ALLOWED_HOSTS Lista de hosts desde los cuales se aceptan las llamadas. Por ejemplo ``backend.nftaas.staging.dekaside.com,localhost``. DJANGO_READ_DOT_ENV_FILE Indica si ha de leer las variables de entorno desde el fichero .env directamente. Por defecto ``False``. DJANGO_SECURE_SSL_REDIRECT Activa la redirección interna de ``http`` a ``https``. Por defecto ``True``. DJANGO_STATICFILES_STORAGE Clase de Python que se usa para gestionar los ficheros estáticos. Por defecto ``nftaas.core.storages.StaticRootS3Boto3Storage``, clase compatible con Amazon S3, para configurar Google Cloud Storage usar ``nftaas.core.storages.StaticRootGoogleCloudStorage``. DJANGO_STATIC_URL Ruta completa de la URL base de los ficheros estáticos, por ejemplo ``https://storage.staging.dekaside.com/nftaas/static/`` DJANGO_DEFAULT_FILE_STORAGE Clase de Python que se usa para gestionar los ficheros subidos por los usuarios. Por defecto ``nftaas.core.storages.MediaRootS3Boto3Storage``, clase compatible con Amazon S3, para configurar Google Cloud Storage usar ``nftaas.core.storages.MediaRootGoogleCloudStorage``. DJANGO_MEDIA_URL Ruta completa de la URL base de los ficheros subidos por los usuarios, por ejemplo ``https://storage.staging.dekaside.com/nftaas/media/`` DJANGO_EMAIL_BACKEND Clase de Python que hace de backend para el envío de correos electrónicos. Por defecto ``django.core.mail.backends.smtp.EmailBackend``. DJANGO_SECURE_HSTS_SECONDS Con un valor diferente de ``0`` activa las cabeceras de `HTTP Strict Transport Security `_ en todas las respuestas. Por defecto ``60``. DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS Agrega los subdominios a las cabeceras de `HTTP Strict Transport Security `_. Por defecto ``True``. DJANGO_SECURE_HSTS_PRELOAD Agrega la directiva ``preload`` a las cabeceras `HTTP Strict Transport Security `_. Por defecto ``True``. DJANGO_SECURE_CONTENT_TYPE_NOSNIFF Agrega la cabecera ``X-Content-Type-Options: nosniff `` a todas las respuestas. Por defecto ``True``. DJANGO_DEFAULT_FROM_EMAIL Nombre y dirección que se utiliza para el envío de correos a usuarios. Por defecto ``NFT as a Service ``. DJANGO_SERVER_EMAIL Nombre y dirección que se utiliza para el envío de correos de administración. Por defecto el mismo valor que ``DJANGO_DEFAULT_FROM_EMAIL``. DJANGO_EMAIL_SUBJECT_PREFIX Prefijo que se agrega al asunto de los correos enviados. Por defecto ``[NFT as a Service]``. IPFS ^^^^ DJANGO_WEB3_STORAGE_API_KEY (obligatoria) API key para el almacenamiento en web3.storage. Google Cloud Storage ^^^^^^^^^^^^^^^^^^^^ GS_BUCKET_NAME Nombre del *bucket* de Google Cloud Storage. GS_DEFAULT_ACL ACL por defecto que se usa al crear un nuevo objeto. Por defecto ``publicRead``. GS_PROJECT_ID El ID del proyecto de Google. GS_IS_GZIPPED Indica si está activado o no la compresión de los tipos indicados en ``GZIP_CONTENT_TYPES``. Por defecto ``False``. GZIP_CONTENT_TYPES Tipos que se comprimen si está activo ``GS_IS_GZIPPED``. Por defecto ``text/css, text/javascript, application/javascript, application/x-javascript, image/svg+xml``. Amazon Web Services ^^^^^^^^^^^^^^^^^^^ AWS_S3_CUSTOM_DOMAIN ``storage.staging.dekaside.com`` AWS_ACCESS_KEY_ID Valor del *access key ID* de AWS para acceder a S3. AWS_SECRET_ACCESS_KEY Valor del *secret access key* de AWS para acceder a S3. AWS_STORAGE_BUCKET_NAME Nombre del *bucket* en S3. AWS_S3_ENDPOINT_URL Sobrescribe la dirección base para acceder al API de S3. gunicorn ^^^^^^^^ WEB_CONCURRENCY Número de *workers* que levantará gunicorn al arrancar el servidor. Por defecto ``1``. GUNICORN_CMD_ARGS Permite redefinir los argumentos que usa gunicorn para arrancar. Por defecto ``--bind 0.0.0.0:5000 --chdir=/app``. Sentry ^^^^^^ SENTRY_ENABLED Permite activar o desactivar la integración con Sentry. Por defecto ``True``. SENTRY_DSN Dirección de DSN de Sentry. SENTRY_ENVIRONMENT Entorno al que se envían los eventos de Sentry. Por defecto ``production``. SENTRY_TRACES_SAMPLE_RATE Ratio de muestras que se envían a Sentry. Por defecto ``0.0``. Mailgun ^^^^^^^ MAILGUN_API_KEY El API key para acceder al envío de correos con Mailgun. MAILGUN_DOMAIN Dominio que se usa para el envío de correos desde Mailgun. MAILGUN_API_URL Dirección del API de Mailgun. Por defecto ``https://api.eu.mailgun.net/v3``. Redis ^^^^^ REDIS_URL Dirección del servidor de Redis que se usa para caché. Por ejemplo ``redis://redis:6379/0``. Celery ^^^^^^ CELERY_BROKER_URL Dirección para acceder al servidor que se usa como *broker* de tareas asíncronas. Por ejemplo ``redis://redis:6379/0``. CELERY_TASK_TIME_LIMIT Límite en segundos que tiene una tarea de Celery para ejecutarse. CELERY_TASK_SOFT_TIME_LIMIT Si se supera este límite en la ejecución de una tarea de Celery se lanza una excepción para avisar de que se ha superado, pero sigue su ejecución. CELERY_WORKER_CONCURRENCY Número de workers por defecto que se lanza al ejecutar Celery. Por defecto ``1``. .. _HSTS: https://docs.djangoproject.com/en/dev/ref/middleware/#http-strict-transport-security