Environment Variables

This document details all the environment variables used in the Browserable services. Each variable is explained with its default value and possible configurations.

UI Service Variables

VariableDefaultDescription
NODE_TLS_REJECT_UNAUTHORIZED”0”Controls Node.js TLS certificate validation
NEW_RELIC_NO_CONFIG_FILE1Disables New Relic config file requirement
NEW_RELIC_ENABLED0Controls New Relic monitoring
APP_NAME”Browserable”Application name
DOMAIN”localhost:2001”UI server domain
ROOT_DOMAIN”localhost”Root domain for the application
PORT2001UI server port
DEBUG1Enables debug mode
HTTPS_DOMAIN0Controls HTTPS requirement
NODE_ENV”development”Node.js environment
REACT_APP_TASKS_PUBLIC_URLhttp://localhost:2003Tasks server URL
REACT_APP_UPPY_COMPANION_URLhttp://localhost:2003/companionUppy companion URL for file uploads
REACT_APP_S3_ENDPOINT”nyc3.digitaloceanspaces.com”S3 endpoint for file storage
REACT_APP_SINGLE_USER_MODE1Enables single user mode
SECRET”please_update_this_secret”Secret key for session management
REACT_APP_COOKIE_UUID_KEY”browserable_uuid”Cookie key for UUID storage

Tasks Service Variables

Core Configuration

VariableDefaultDescription
APP_NAME”Browserable”Application name
NODE_TLS_REJECT_UNAUTHORIZED”0”Controls Node.js TLS certificate validation
DOMAIN”localhost:2003”Tasks server domain
ROOT_DOMAIN”localhost”Root domain for the application
PORT2003Tasks server port
UPPY_PORT2010Uppy server port
DEBUG1Enables debug mode
HTTPS_DOMAIN0Controls HTTPS requirement
NODE_ENV”development”Node.js environment

Database and Storage

VariableDefaultDescription
TASKS_DATABASE_URL”postgresql://…”PostgreSQL connection URL
TASKS_REDIS_URL”redis://browserable-redis:6379/“Redis connection URL
MONGODB_URL”mongodb://…”MongoDB connection URL
S3_ENDPOINThttp://minio:9000S3 compatible storage endpoint
S3_BUCKET”browserable”S3 bucket name
S3_KEY”browserable-storage”S3 access key
S3_SECRET”secret1234”S3 secret key
S3_PRIVATE_DOMAINhttp://minio:9000Private S3 domain
S3_PUBLIC_DOMAINhttp://localhost:9000Public S3 domain

Security and Authentication

VariableDefaultDescription
SECRET”please_update_this_secret”Secret key for session management
COOKIE_UUID_KEY”browserable_uuid”Cookie key for UUID storage
SINGLE_USER_MODE1Enables single user mode
ADMIN_EMAILadmin@browserable.aiAdmin email address

CORS and API Configuration

VariableDefaultDescription
CORS_DOMAINShttp://localhost:2001,…”Allowed CORS domains
COMPANION_CLIENT_ORIGINShttp://localhost:2001,…”Allowed Uppy companion origins
COMPANION_UPLOAD_URLShttp://localhost:2001,…”Allowed upload URLs
COMPANION_AWS_ACL”public-read”AWS ACL for uploaded files

Email Configuration

VariableDefaultDescription
SMTP_HOST""SMTP server host
SMTP_PORT""SMTP server port
SMTP_USER""SMTP username
SMTP_PASS""SMTP password
SMTP_FROM""SMTP from address

API Keys and Integration

VariableDefaultDescription
OPENAI_API_KEY""OpenAI API key
CLAUDE_API_KEY""Claude API key
QWEN_API_KEY""Qwen API key
GEMINI_API_KEY""Gemini API key
DEEPSEEK_API_KEY""Deepseek API key
STEEL_API_KEY""Steel browser API key
HYPER_BROWSER_API_KEY""Hyper browser API key
BROWSERBASE_API_KEY""Browserbase API key
BROWSERBASE_PROJECT_ID""Browserbase project ID

Browser Configuration

VariableDefaultDescription
BROWSER_CONCURRENCY1Maximum concurrent browser sessions

Monitoring and Logging

VariableDefaultDescription
NEW_RELIC_NO_CONFIG_FILE1Disables New Relic config file requirement
NEW_RELIC_ENABLED0Controls New Relic monitoring
DISCORD_ADMIN_WEBHOOK""Discord webhook for admin notifications

Usage

To configure these variables:

  1. For local development, set them in your docker-compose.dev.yml file
  2. For production, set them in your environment or use a .env file
  3. For cloud deployment, set them in your cloud provider’s environment variables section

Example .env file:

APP_NAME=Browserable
PORT=2003
DEBUG=1
OPENAI_API_KEY=your-api-key

Notes

  • Empty string defaults ("") indicate optional variables
  • Some variables are required in production but optional in development
  • Security-related variables should be properly secured in production
  • API keys should never be committed to version control