Skip to content

Environment Variables

The APTRS backend uses the .env file to store credentials such as S3 bucket information, database credentials, secret keys, whitelisted IPs/domains, and more.

  • If you are deploying the application with Docker, make sure to update the details in the .env file from the project root.
  • If you are deploying the application without Docker, you will need to update specific details like the S3 bucket and whitelisted IPs.
ENV Description Docker Linux Server Manual Setup
SECRET_KEY This key is used by Backend including JWT, Should be secured and random. Manually need to be updated in env file Manually need to be updated in env file
WHITELIST_IP This allows to set whitelisted IP/domain with port number to allow loading resource during PDF report to prevent SSRF vulnerability. Manually need to be updated in env file, make sure to keep the https://nginx as its required to connect with nginx within Docker Manually need to be updated in env file based on your domain name, IP etc.
ALLOWED_HOST Whitelist allowed host to prevent host header injection attack Manually need to be updated in env file Manually need to be updated in env file based on your domain name, IP etc.
CORS_ORIGIN Whitelist allowed origin to prevent cross origin attack Manually need to be updated in env file Manually need to be updated in env file based on your domain name, IP etc.
REDIS_URL Redis Server Details including IP, Port and password Should replace the default password q8N8HwlaOWqOl1hG7rdmBsm7oT52fLKHZXFwOB4VM7SXFDV8wg to a new strong random password. Do not update other details except password Manually need to be updated in env file for REDIS password, IP and Port details
REDIS_PASSWORD Redis Server password for Redis image in docker Should replace the default password q8N8HwlaOWqOl1hG7rdmBsm7oT52fLKHZXFwOB4VM7SXFDV8wg to a new strong random password. Password in REDIS_URL and REDIS_PASSWORD should be same Not needed and no need to update/add.
POSTGRES_USER , POSTGRES_PASSWORD, POSTGRES_PORT, POSTGRES_DB Postgres DB username, password, port, and DB names Manually need to be updated in env file Manually need to be updated in env file.
POSTGRES_HOST Postgres host name Should not be updated. Manually need to be updated in env file.
USE_S3 If you want to use Cloud S3 bucket Digital Ocean or AWS s3 bucket. Default False, you can change it to True Optional Optional
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_STORAGE_BUCKET_NAME AWS_S3_REGION_NAME AWS_S3_CUSTOM_DOMAIN AWS_S3_ENDPOINT_URL Bucket details if USE_S3 is set to True Optional Optional
USE_DOCKER Used by APTRS Django code to validate if application deployed on Docker or Not Optional, It is already declared as True in Docker file Required to set to False
USER_TIME_ZONE Used by APTRS Django code and Background task schedule time using celery Required to set the local time zon or UTC Required to set the local time zon or UTC
USE_EMAIL Enable/disable email functionality for project status updates, password resets, invitations, etc. Required (set to True if using email, False otherwise) Required (set to True if using email, False otherwise)
EMAIL_HOST SMTP server hostname Required if USE_EMAIL=True, leave empty otherwise Required if USE_EMAIL=True, leave empty otherwise
EMAIL_PORT SMTP server port Required (typically 587 for TLS, 465 for SSL) Required (typically 587 for TLS, 465 for SSL)
EMAIL_USE_TLS Whether to use TLS encryption for SMTP Required (set to True or False) Required (set to True or False)
EMAIL_HOST_USER SMTP username/login Required if USE_EMAIL=True, leave empty otherwise Required if USE_EMAIL=True, leave empty otherwise
EMAIL_HOST_PASSWORD SMTP password Required if USE_EMAIL=True, leave empty otherwise Required if USE_EMAIL=True, leave empty otherwise
DEFAULT_FROM_EMAIL The default sender email address Required if USE_EMAIL=True, leave empty otherwise Required if USE_EMAIL=True, leave empty otherwise
FRONTEND_URL URL for the frontend, used in email links Required if USE_EMAIL=True, set to your application's public URL Required if USE_EMAIL=True, set to your application's public URL

Email Configuration

Setting Up Email

APTRS can send emails for various functions including: - Password reset links - User invitations - Project status updates (on hold, completed, etc.) - Customer notifications

Email Setup Requirements

Even if you don't plan to use email functionality (USE_EMAIL=False), you must still set values for EMAIL_PORT and EMAIL_USE_TLS. You can use any integer for port (e.g., 587) and either True or False for TLS.

Example Email Configuration

Python
# Enable email functionality
USE_EMAIL=True
# SMTP server details
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER='your-email@gmail.com'
EMAIL_HOST_PASSWORD='your-app-password'
DEFAULT_FROM_EMAIL='APTRS <your-email@gmail.com>'
# Your application's public URL for links in emails
FRONTEND_URL='https://your-aptrs-domain.com'