Welcome Black Friday users! Get 85% off with BF2025-85OFF until Dec 31, 2025

Get Started

Work in Progress: This documentation is being actively developed. More content will be added soon!

If you run into any issues, please email rasul@tuxseo.com

Environment Variables

This guide covers all environment variables needed to configure TuxSEO.

Required variables

These variables are essential for TuxSEO to function:

AI API Keys

TuxSEO uses several AI services to generate content and analyze your website. You need API keys for each service:

OPENAI_API_KEY - Get your key from OpenAI Platform - Used for blog post content generation via GPT-Researcher - Paid service with usage-based pricing

TAVILY_API_KEY - Get your key from Tavily - Used by GPT-Researcher for web research and content generation - Free tier available with 1,000 requests per month

GEMINI_API_KEY - Get your key from Google AI Studio - Used for content generation and analysis - Free tier available with generous limits

PERPLEXITY_API_KEY - Get your key from Perplexity - Used for research and content enhancement - Paid service with usage-based pricing

JINA_READER_API_KEY - Get your key from Jina AI - Used for reading and processing web content - Free tier available

KEYWORDS_EVERYWHERE_API_KEY - Get your key from Keywords Everywhere - Used for keyword research and analysis - Paid service with credit-based pricing

Database configuration

POSTGRES_PASSWORD - Password for your PostgreSQL database - Use a strong, randomly generated password - Generate one with: openssl rand -base64 32

REDIS_PASSWORD - Password for your Redis instance - Use a strong, randomly generated password - Generate one with: openssl rand -base64 32

Django settings

SECRET_KEY - Secret key for Django security features - Must be kept confidential in production - Generate one with: python -c "import secrets; print(secrets.token_urlsafe(50))"

ALLOWED_HOSTS - Comma-separated list of domains that can access your application - Example: yourdomain.com,www.yourdomain.com - Use * for testing only (not secure for production)

DEBUG - Set to False in production - Set to True only for local development - Never deploy to production with DEBUG=True

Optional variables

These variables enhance functionality but aren't required:

Email configuration

Configure these to send emails from TuxSEO (for notifications, password resets, etc.):

EMAIL_HOST - SMTP server hostname - Example: smtp.gmail.com

EMAIL_PORT - SMTP server port - Common values: 587 (TLS) or 465 (SSL)

EMAIL_HOST_USER - Your email address for SMTP authentication

EMAIL_HOST_PASSWORD - Password or app-specific password for your email account

EMAIL_USE_TLS - Set to True if using TLS (port 587) - Set to False if using SSL (port 465)

DEFAULT_FROM_EMAIL - Email address shown as sender - Example: noreply@yourdomain.com

Storage configuration

Configure these to use cloud storage for media files:

USE_S3 - Set to True to enable AWS S3 storage - Set to False to use local file storage

AWS_ACCESS_KEY_ID - Your AWS access key ID - Required if USE_S3 is True

AWS_SECRET_ACCESS_KEY - Your AWS secret access key - Required if USE_S3 is True

AWS_STORAGE_BUCKET_NAME - Name of your S3 bucket - Required if USE_S3 is True

AWS_S3_REGION_NAME - AWS region for your S3 bucket - Example: us-east-1

Additional settings

SITE_URL - Full URL where your TuxSEO instance is accessible - Example: https://yourdomain.com - Used for generating absolute URLs in emails and notifications

DATABASE_URL - Complete PostgreSQL connection string - Example: postgresql://user:password@localhost:5432/dbname - Usually auto-configured in containerized deployments

REDIS_URL - Complete Redis connection string - Example: redis://:password@localhost:6379/0 - Usually auto-configured in containerized deployments

Getting the .env.example file

The complete .env.example file with all variables and detailed comments is available in the TuxSEO repository.

Download it directly:

wget https://raw.githubusercontent.com/rasulkireev/tuxseo/main/.env.example -O .env

Or with curl:

curl -o .env https://raw.githubusercontent.com/rasulkireev/tuxseo/main/.env.example

This file includes all available options with explanations and example values.

Security best practices

Follow these guidelines to keep your TuxSEO installation secure:

Never commit .env files - Add .env to your .gitignore - Use environment variables or secret management systems for production

Use strong passwords - Generate random passwords for database and Redis - Use at least 32 characters for production passwords

Keep secrets confidential - Don't share your SECRET_KEY or API keys - Rotate keys immediately if exposed

Use HTTPS in production - Set ALLOWED_HOSTS to specific domains only - Configure SSL/TLS certificates for your domain - Never set DEBUG=True in production

Limit access - Use firewall rules to restrict database and Redis access - Only expose necessary ports to the internet - Use strong authentication for all services