Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file added .DS_Store
Binary file not shown.
119 changes: 119 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Docker ignore file for Optimus

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual environments
venv/
.venv/
env/
.env
ENV/

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Git
.git/
.gitignore

# Logs
*.log
logs/

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/

# Documentation
docs/_build/
*.md

# Database
*.db
*.sqlite
*.sqlite3

# Temporary files
tmp/
temp/
*.tmp

# Node modules (if any)
node_modules/

# Docker
docker-compose*.yml
Dockerfile*
.dockerignore

# Development tools
.mypy_cache/
.ruff_cache/

# Environment specific
config/environments/
.env.local
.env.development
.env.production

# Frontend build artifacts (if built locally)
frontend/dist/
frontend/build/
frontend/node_modules/

# Large model files
*.bin
*.safetensors
models/

# Test artifacts
test-results/
coverage/

# Secrets and sensitive files
secrets/
*.pem
*.key
*.crt
*.p12

# Backup files
*.bak
*.backup
5 changes: 3 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
DATABASE_URL=postgresql://postgres:optimus123@localhost:5433/optimus_db
DATABASE_URL=postgresql+asyncpg://nathanial.smalley@localhost:5432/optimus_db
REDIS_URL=redis://localhost:6379
PROJECT_ROOT=/Users/nathanial.smalley/projects
API_PORT=8000
SCAN_INTERVAL=300
LOG_LEVEL=INFO
LOG_LEVEL=INFO
ELEVEN_LABS_API_KEY=sk_11b8d65e3dc0413486bbcbdd2a52d374dc5b8504a9d3326e
60 changes: 22 additions & 38 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,43 +1,27 @@
# Optimus Backend Environment Configuration
# Optimus Voice Agent Configuration

# Application Settings
APP_NAME="Optimus Backend"
APP_VERSION="0.1.0"
DEBUG=false
LOG_LEVEL="INFO"
# Database (optional for test server)
DATABASE_URL=postgresql+asyncpg://your_user@localhost:5432/optimus_db
REDIS_URL=redis://localhost:6379

# API Settings
API_PREFIX="/api/v1"
CORS_ORIGINS="http://localhost:3000,http://localhost:8080"
# Voice Agent - ElevenLabs
# Get your API key from https://elevenlabs.io
ELEVENLABS_API_KEY=your_api_key_here

# Database Settings
DATABASE_URL="postgresql+asyncpg://postgres:password@localhost:5432/optimus_db"
DATABASE_HOST="localhost"
DATABASE_PORT=5432
DATABASE_NAME="optimus_db"
DATABASE_USER="postgres"
DATABASE_PASSWORD="password"
DATABASE_POOL_SIZE=20
DATABASE_MAX_OVERFLOW=30
# Voice IDs (optional - defaults to Adam)
# Adam (deep): pNInz6obpgDQGcFmaJgB
# Antoni (rounded): ErXwobaYiN019PkySvjV
# Arnold (crisp): VR6AewLTigWG4xSOukaG
# Sam (raspy): yoZ06aMxZJJ28mfd3POQ
# Marcus (British): EXAVITQu4vr4xnSDxMaL
# Clyde (veteran): 2EiwWnXFnvU5JabPnv8n
ELEVENLABS_VOICE_ID=pNInz6obpgDQGcFmaJgB

# Redis Settings
REDIS_URL="redis://localhost:6379"
REDIS_HOST="localhost"
REDIS_PORT=6379
REDIS_PASSWORD=""
REDIS_DB=0
# Model (optional - defaults to eleven_turbo_v2_5 for low latency)
ELEVENLABS_MODEL=eleven_turbo_v2_5

# Scanning Settings
PROJECTS_BASE_PATH="~/projects"
SCAN_INTERVAL=300
MAX_SCAN_DEPTH=3
EXCLUDED_DIRECTORIES=".git,__pycache__,node_modules,.venv,venv,.pytest_cache,.mypy_cache,dist,build"

# Monitoring Settings
MONITOR_INTERVAL=30
PROCESS_TIMEOUT=120
HEARTBEAT_THRESHOLD=180

# Logging Settings
LOG_FORMAT="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
LOG_FILE="optimus.log"
# Alternative Voice Providers (future)
# PLAYHT_API_KEY=
# PLAYHT_USER_ID=
# UBERDUCK_API_KEY=
# UBERDUCK_SECRET_KEY=
Loading