Dependencies & Services
External services and API keys required to run Makinari. Some are required, others are optional based on features you want to use.
Supabase
PostgreSQL database, authentication, and real-time subscriptions
Environment Variables:
NEXT_PUBLIC_SUPABASE_URLYour Supabase project URL
NEXT_PUBLIC_SUPABASE_ANON_KEYPublic anonymous key
SUPABASE_SERVICE_ROLE_KEYService role key (server-side only)
SUPABASE_JWT_SECRETJWT secret for token validation (optional)
SUPABASE_DB_PASSWORDDatabase password (optional)
Temporal Cloud
Workflow orchestration for background jobs and scheduled tasks
Environment Variables:
TEMPORAL_SERVER_URLTemporal server URL
TEMPORAL_NAMESPACEYour namespace (default: 'default')
WORKFLOW_TASK_QUEUETask queue name (default: 'default')
Stripe
Payment processing and subscription management
Environment Variables:
STRIPE_SECRET_KEYSecret key for server-side operations
STRIPE_PUBLISHABLE_KEYPublishable key for client-side
STRIPE_WEBHOOK_SECRETWebhook signing secret
OpenAI
AI capabilities for agents, content generation, and analysis
Environment Variables:
OPENAI_API_KEYAPI key for OpenAI services
OPENAI_ORG_IDOrganization ID (optional)
Twilio
SMS and WhatsApp messaging capabilities
Environment Variables:
TWILIO_ACCOUNT_SIDAccount SID
TWILIO_AUTH_TOKENAuth token
TWILIO_PHONE_NUMBERYour Twilio phone number
TWILIO_WHATSAPP_NUMBERWhatsApp enabled number
SendGrid
Email delivery and marketing campaigns
Environment Variables:
SENDGRID_API_KEYAPI key for sending emails
SENDGRID_FROM_EMAILVerified sender email address
Azure OpenAI
Alternative AI provider using Microsoft Azure OpenAI services
Environment Variables:
MICROSOFT_AZURE_OPENAI_API_KEYAzure OpenAI API key
MICROSOFT_AZURE_OPENAI_ENDPOINTAzure OpenAI endpoint URL
MICROSOFT_AZURE_OPENAI_DEPLOYMENTDeployment name (default: gpt-4o)
MICROSOFT_AZURE_OPENAI_API_VERSIONAPI version (default: 2024-08-01-preview)
MICROSOFT_AZURE_OPENAI_IMAGES_DEPLOYMENTDALL-E deployment for image generation
Google Maps
Location services and venue search capabilities
Environment Variables:
GOOGLE_MAPS_API_KEYAPI key for Google Maps services
NeverBounce
Email validation and verification service
Environment Variables:
NEVERBOUNCE_API_KEYAPI key for email validation
Portkey
AI provider management and gateway
Environment Variables:
PORTKEY_API_KEYAPI key for Portkey services
Scrapybara
Web scraping and browser automation
Environment Variables:
SCRAPYBARA_API_KEYAPI key for Scrapybara services
Application URLs
URLs for application services and API communication
Environment Variables:
NEXT_PUBLIC_APP_URLMain application URL (e.g., http://localhost:3000)
NEXT_PUBLIC_API_SERVER_URLAPI server URL (e.g., http://localhost:3001)
API_SERVER_URLServer-side API URL (fallback)
API_BASE_URLBase URL for workflow API calls
API_KEYInternal API authentication key
SERVICE_API_KEYService-to-service authentication
Supabase Setup Guide
Supabase is the backbone of Makinari, providing database, authentication, storage, and real-time capabilities. Follow this comprehensive guide to set it up correctly.
1. Database Setup
- Navigate to your Supabase project dashboard
- Go to SQL Editor
- Run the migrations from /supabase/migrations
- Verify tables are created correctly
2. Authentication Configuration
- Go to Authentication > Settings
- Enable Email provider
- Configure Magic Link settings
- Set up redirect URLs for your domain
- Configure password requirements
3. Storage Setup
- Go to Storage section
- Create buckets for: avatars, assets, documents
- Configure bucket policies (public/private)
- Set up CORS if needed
4. Row Level Security (RLS)
- Enable RLS on all tables
- Create policies for user access
- Test policies with different user roles
- Review security documentation
Environment Variables Example:
# Supabase ConfigurationNEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.coNEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-keySUPABASE_SERVICE_ROLE_KEY=your-service-role-key # Supabase Additional (Optional)SUPABASE_JWT_SECRET=your-jwt-secretSUPABASE_DB_PASSWORD=your-db-passwordSecurity Note
Never commit your SUPABASE_SERVICE_ROLE_KEY to version control. This key has full database access and should only be used server-side.
Complete Environment Template
Copy this template to your .env.local file and fill in your values:
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697# ========================================# REQUIRED SERVICES# ======================================== # Supabase ConfigurationNEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.coNEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-keySUPABASE_SERVICE_ROLE_KEY=your-service-role-keySUPABASE_JWT_SECRET=your-jwt-secretSUPABASE_DB_PASSWORD=your-db-password # Temporal CloudTEMPORAL_SERVER_URL=your-temporal-server.tmprl.cloud:7233TEMPORAL_NAMESPACE=your-namespaceWORKFLOW_TASK_QUEUE=defaultTEMPORAL_API_KEY=your-temporal-cloud-api-keyTEMPORAL_TLS=true # Stripe PaymentsSTRIPE_SECRET_KEY=sk_test_your-secret-keyNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_your-publishable-keySTRIPE_PUBLISHABLE_KEY=pk_test_your-publishable-keySTRIPE_WEBHOOK_SECRET=whsec_your-webhook-secretSTRIPE_STARTUP_PRICE_ID=price_xxxxxSTRIPE_ENTERPRISE_PRICE_ID=price_xxxxx # OpenAIOPENAI_API_KEY=sk-your-openai-keyOPENAI_ORG_ID=org-your-org-id # Application URLs (REQUIRED)NEXT_PUBLIC_APP_URL=http://localhost:3000NEXT_PUBLIC_API_SERVER_URL=http://localhost:3001API_SERVER_URL=http://localhost:3001API_BASE_URL=http://localhost:3001API_KEY=your-internal-api-keySERVICE_API_KEY=your-service-api-key # ========================================# OPTIONAL SERVICES# ======================================== # Azure OpenAI (Alternative AI Provider)MICROSOFT_AZURE_OPENAI_API_KEY=your-azure-keyMICROSOFT_AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/MICROSOFT_AZURE_OPENAI_DEPLOYMENT=gpt-4oMICROSOFT_AZURE_OPENAI_API_VERSION=2024-08-01-previewMICROSOFT_AZURE_OPENAI_IMAGES_DEPLOYMENT=dall-e-3 # Twilio (SMS/WhatsApp)TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTWILIO_AUTH_TOKEN=your-auth-tokenTWILIO_PHONE_NUMBER=+1234567890TWILIO_WHATSAPP_NUMBER=whatsapp:+1234567890 # SendGrid (Email Delivery)SENDGRID_API_KEY=SG.your-sendgrid-keySENDGRID_FROM_EMAIL=noreply@yourdomain.com # Google Maps (Location Services)GOOGLE_MAPS_API_KEY=your-google-maps-key # NeverBounce (Email Validation)NEVERBOUNCE_API_KEY=your-neverbounce-key # Portkey (AI Provider Management)PORTKEY_API_KEY=your-portkey-key # Scrapybara (Web Scraping)SCRAPYBARA_API_KEY=your-scrapybara-keyROBOT_SDK_PROVIDER=azure # Email Validator ConfigurationEMAIL_VALIDATOR_CONNECT_TIMEOUT_MS=8000EMAIL_VALIDATOR_TEMPORARY_AS_RISKY=0EMAIL_VALIDATOR_TREAT_POLICY_AS_RISKY=1EMAIL_VALIDATOR_DELIVERABLE_ON_CONNECT=0EMAIL_VALIDATOR_DELIVERABLE_ON_CONNECT_DOMAINS= # Scheduling ConfigurationSCHEDULE_STRATEGIC_ACCOUNTS=false # ========================================# APPLICATION SETTINGS# ======================================== # EnvironmentNODE_ENV=development # LoggingLOG_LEVEL=infoNEXT_PUBLIC_LOG_LEVEL=infoNEXT_PUBLIC_DEBUG=false # Vercel (Automatic in Vercel deployments)# VERCEL=1# VERCEL_ENV=production