Fixes authentication environment variable loading by properly configuring Vite's envDir to read from the project root instead of the archon-ui-main directory.
Changes:
- Configure vite.config.ts with envDir pointing to parent directory
- Add explicit VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY to .env
- Create vite-env.d.ts for TypeScript environment variable types
- Add debug logging to supabaseClient.ts for troubleshooting
- Update .env.example with proper Vite variable configuration
- Update AUTHENTICATION_SETUP.md with corrected setup instructions
Technical details:
- Vite's loadEnv() only loads vars for config use, not client injection
- envDir config is required to tell Vite where to find .env for client code
- Variables must be explicitly defined (Vite doesn't expand ${VAR} syntax)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
89 lines
3.8 KiB
Plaintext
89 lines
3.8 KiB
Plaintext
# Minimal startup configuration - only Supabase connection required
|
|
# All other settings (API keys, model choices, RAG flags) are managed via the Settings page
|
|
|
|
# Get your SUPABASE_URL from the Data API section of your Supabase project settings -
|
|
# https://supabase.com/dashboard/project/<your project ID>/settings/api
|
|
SUPABASE_URL=
|
|
|
|
# ⚠️ CRITICAL: You MUST use the SERVICE ROLE key, NOT the Anon key! ⚠️
|
|
#
|
|
# COMMON MISTAKE: Using the anon (public) key will cause ALL saves to fail with "permission denied"!
|
|
#
|
|
# How to get the CORRECT key:
|
|
# 1. Go to: https://supabase.com/dashboard/project/<your project ID>/settings/api
|
|
# 2. In the Settings menu, click on "API keys"
|
|
# 3. Find "Project API keys" section
|
|
# 4. You will see TWO keys - choose carefully:
|
|
# ❌ anon (public): WRONG - This is shorter, starts with "eyJhbGc..." and contains "anon" in the JWT
|
|
# ✅ service_role (secret): CORRECT - This is longer and contains "service_role" in the JWT
|
|
#
|
|
# The service_role key is typically much longer than the anon key.
|
|
# If you see errors like "Failed to save" or "Permission denied", you're using the wrong key!
|
|
#
|
|
# On the Supabase dashboard, it's labeled as "service_role" under "Project API keys"
|
|
SUPABASE_SERVICE_KEY=
|
|
SUPABASE_ANON_KEY=
|
|
|
|
# Frontend Supabase Configuration (used by Vite)
|
|
# These variables are automatically picked up by the frontend build process
|
|
# Note: Vite doesn't expand ${VAR} syntax, so these need explicit values (same as above)
|
|
# Get the ANON (public) key from Supabase Dashboard > Settings > API
|
|
# This is DIFFERENT from the SERVICE_ROLE key - frontend uses ANON key for client-side auth
|
|
VITE_SUPABASE_URL=
|
|
VITE_SUPABASE_ANON_KEY=
|
|
|
|
# Optional: Set log level for debugging
|
|
LOGFIRE_TOKEN=
|
|
LOG_LEVEL=INFO
|
|
|
|
# Service Ports Configuration
|
|
# These ports are used for external access to the services
|
|
HOST=localhost
|
|
ARCHON_SERVER_PORT=8181
|
|
ARCHON_MCP_PORT=8051
|
|
ARCHON_AGENTS_PORT=8052
|
|
ARCHON_UI_PORT=3737
|
|
ARCHON_DOCS_PORT=3838
|
|
|
|
# Frontend Configuration
|
|
# VITE_ALLOWED_HOSTS: Comma-separated list of additional hosts allowed for Vite dev server
|
|
# Example: VITE_ALLOWED_HOSTS=192.168.1.100,myhost.local,example.com
|
|
# If not set, defaults to localhost, 127.0.0.1, ::1, and the HOST value above
|
|
VITE_ALLOWED_HOSTS=
|
|
|
|
# MCP Public URL Configuration
|
|
# This is the publicly accessible URL for the MCP server
|
|
# Used to generate client configuration JSON for Claude Code, Cursor, etc.
|
|
# Format: "domain.com:8051" or "localhost:8051"
|
|
# Examples:
|
|
# - Development: localhost:8051 (default)
|
|
# - Production: archon.automatizase.com.br:8051
|
|
# - Custom domain: mcp.mycompany.com:8051
|
|
# If not set, defaults to "localhost:8051"
|
|
MCP_PUBLIC_URL=localhost:8051
|
|
|
|
# Development Tools
|
|
# VITE_SHOW_DEVTOOLS: Show TanStack Query DevTools (for developers only)
|
|
# Set to "true" to enable the DevTools panel in bottom right corner
|
|
# Defaults to "false" for end users
|
|
VITE_SHOW_DEVTOOLS=false
|
|
|
|
# When enabled, PROD mode will proxy ARCHON_SERVER_PORT through ARCHON_UI_PORT. This exposes both the
|
|
# Archon UI and API through a single port. This is useful when deploying Archon behind a reverse
|
|
# proxy where you want to expose the frontend on a single external domain.
|
|
PROD=false
|
|
|
|
|
|
# NOTE: All other configuration has been moved to database management!
|
|
# Run the credentials_setup.sql file in your Supabase SQL editor to set up the credentials table.
|
|
# Then use the Settings page in the web UI to manage:
|
|
# - OPENAI_API_KEY (encrypted)
|
|
# - MODEL_CHOICE
|
|
# - TRANSPORT settings
|
|
# - RAG strategy flags (USE_CONTEXTUAL_EMBEDDINGS, USE_HYBRID_SEARCH, etc.)
|
|
# - Crawler settings:
|
|
# * CRAWL_MAX_CONCURRENT (default: 10) - Max concurrent pages per crawl operation
|
|
# * CRAWL_BATCH_SIZE (default: 50) - URLs processed per batch
|
|
# * MEMORY_THRESHOLD_PERCENT (default: 80) - Memory % before throttling
|
|
# * DISPATCHER_CHECK_INTERVAL (default: 0.5) - Memory check interval in seconds
|