Self-contained authentication system with email/password login and optional Google OAuth integration.
Command: oxy serve
(without args) or oxy serve --auth-mode built-in
Quick Setup
1. Basic Configuration
Create config.yml
:
databases:
- name: "local_db"
type: "duckdb"
dataset: "/data/app.db"
models:
- name: "gpt-4"
vendor: "openai"
model_ref: "gpt-4"
key_var: "OPENAI_API_KEY"
authentication:
basic:
smtp_user: "noreply@yourdomain.com"
smtp_password_var: "SMTP_PASSWORD"
smtp_server: "smtp.gmail.com"
smtp_port: 587
defaults:
database: "local_db"
2. Environment Variables
OPENAI_API_KEY=sk-...
SMTP_PASSWORD=your-smtp-pass
3. Start Application
oxy serve --auth-mode built-in --config config.yml --port 3000
4. First User Setup
- Navigate to
http://localhost:3000
- Click “Create Account”
- Enter email and password
- Verify email and login
SMTP Providers
Gmail
authentication:
basic:
smtp_server: "smtp.gmail.com"
smtp_port: 587
AWS SES
authentication:
basic:
smtp_server: "email-smtp.us-west-2.amazonaws.com"
smtp_port: 587
SendGrid
authentication:
basic:
smtp_server: "smtp.sendgrid.net"
smtp_port: 587
Google OAuth
1. Create Google OAuth App
- Go to Google Cloud Console
- Enable Google+ API
- Create OAuth 2.0 Client ID
- Add redirect URI:
http://localhost:3000/auth/google/callback
2. Update Configuration
authentication:
basic:
smtp_user: "noreply@yourdomain.com"
smtp_password_var: "SMTP_PASSWORD"
google:
client_id: "your-client-id.apps.googleusercontent.com"
client_secret_var: "GOOGLE_CLIENT_SECRET"
3. Add Environment Variable
GOOGLE_CLIENT_SECRET=your-google-client-secret