# LittleHelper Environment Configuration # Copy this file to .env and fill in your values # ============================================================================= # REQUIRED # ============================================================================= # PostgreSQL connection string # Format: postgresql://USER:PASSWORD@HOST:PORT/DATABASE DATABASE_URL="postgresql://postgres:postgres@localhost:5432/littlehelper" # ============================================================================= # AUTHENTICATION (Required for user login) # ============================================================================= # Google OAuth 2.0 credentials # Create at: https://console.cloud.google.com/apis/credentials GOOGLE_CLIENT_ID="" GOOGLE_CLIENT_SECRET="" # Session cookie signing secret (generate a random 32+ char string) # Example: openssl rand -base64 32 SESSION_SECRET="" # Base URL for OAuth callbacks (no trailing slash) # Development: http://localhost:3000 # Production: https://help.yourdomain.com APP_URL="http://localhost:3000" # ============================================================================= # GITHUB (Optional - can be configured via Admin Settings UI) # When set via env vars, Admin UI fields will be disabled # ============================================================================= # Authentication method: "app" or "pat" # GITHUB_AUTH_METHOD="pat" # GitHub Personal Access Token (if using PAT method) # Required scopes: repo (for private repos) or public_repo (for public) # GITHUB_PAT="" # GitHub App credentials (if using App method) # GITHUB_APP_ID="" # GITHUB_APP_PRIVATE_KEY="" # Base64 encoded PEM key # GITHUB_APP_INSTALLATION_ID="" # Repository configuration # GITHUB_REPO_URL="" # e.g., https://github.com/org/repo # GITHUB_BRANCH="main" # Branch to sync from # GITHUB_CONTENT_PATH="docs" # Folder containing Markdown files # ============================================================================= # STORAGE (Optional - defaults to local filesystem) # When set via env vars, Admin UI fields will be disabled # ============================================================================= # Storage type: "local" or "s3" STORAGE_TYPE="local" # Local storage configuration STORAGE_LOCAL_PATH="./uploads" # S3-compatible storage configuration (AWS S3, DigitalOcean Spaces, MinIO, etc.) # NOTE: S3 bucket/objects must be publicly accessible for direct browser access # STORAGE_S3_ENDPOINT="" # e.g., https://nyc3.digitaloceanspaces.com # STORAGE_S3_BUCKET="" # Bucket name (must be public or use public ACLs) # STORAGE_S3_REGION="" # e.g., nyc3, us-east-1 # STORAGE_S3_ACCESS_KEY="" # STORAGE_S3_SECRET_KEY="" # STORAGE_S3_PUBLIC_URL="" # Public URL prefix (e.g., https://cdn.example.com) # Secure assets mode - proxy all asset requests through server with auth check # Enable this for private documentation deployments or enterprise SSO integration # STORAGE_SECURE_MODE="false" # ============================================================================= # AI / SEO (Optional - can be configured via Admin Settings UI) # When set via env vars, Admin UI fields will be disabled # ============================================================================= # Google Gemini API key for SEO summary/keyword generation # Get at: https://makersuite.google.com/app/apikey # GEMINI_API_KEY="" # ============================================================================= # SERVER # ============================================================================= # Server port (default: 3000) PORT=3000 # Node environment NODE_ENV="development" # Log level: trace, debug, info, warn, error, fatal LOG_LEVEL="info" # ============================================================================= # DEVELOPMENT / TESTING # ============================================================================= # Test database URL (for migration validation) # TEST_DATABASE_URL="postgresql://postgres:postgres@localhost:5432/littlehelper_test" # Enable verbose dev server logging # VERBOSE_DEV=1