# ============================================ # OAUTH MULTI-USER QUICK START (Recommended) # ============================================ # Multi-user deployment with OAuth authentication # Use for: Multi-user production deployments, enhanced security # Features: Single-audience tokens, automatic client registration (DCR) # # Copy this file to .env and configure # ===== REQUIRED SETTINGS ===== # Your Nextcloud instance URL (without trailing slash) NEXTCLOUD_HOST=https://nextcloud.example.com # ===== REQUIRED: LEAVE USERNAME/PASSWORD EMPTY ===== # OAuth mode activates when these are NOT set NEXTCLOUD_USERNAME= NEXTCLOUD_PASSWORD= # ===== OPTIONAL: EXPLICIT MODE DECLARATION ===== # Recommended for clarity MCP_DEPLOYMENT_MODE=oauth_single_audience # ===== OPTIONAL: PRE-REGISTERED OAUTH CLIENT ===== # If you pre-register the OAuth client instead of using DCR: #NEXTCLOUD_OIDC_CLIENT_ID=your-client-id #NEXTCLOUD_OIDC_CLIENT_SECRET=your-client-secret # MCP Server URL (for OAuth redirects) NEXTCLOUD_MCP_SERVER_URL=http://localhost:8000 # ===== OPTIONAL: SEMANTIC SEARCH (Recommended) ===== # AI-powered semantic search with automatic background operation setup # # When you enable semantic search in multi-user mode: # 1. ENABLE_SEMANTIC_SEARCH automatically enables background operations # 2. Server requests refresh tokens for offline indexing # 3. Tokens are stored encrypted in TOKEN_STORAGE_DB # 4. No need to set ENABLE_BACKGROUND_OPERATIONS separately! # ENABLE_SEMANTIC_SEARCH=true # Vector Database (required for semantic search) QDRANT_URL=http://qdrant:6333 # OR for in-memory mode: #QDRANT_LOCATION=:memory: # Embedding Provider (required for semantic search) # Option 1: Ollama (recommended for local deployment) OLLAMA_BASE_URL=http://ollama:11434 OLLAMA_EMBEDDING_MODEL=nomic-embed-text # Option 2: Amazon Bedrock (for AWS deployments) #AWS_REGION=us-east-1 #BEDROCK_EMBEDDING_MODEL=amazon.titan-embed-text-v2:0 # Token Storage (required for background operations - auto-enabled by semantic search) # Generate encryption key: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" TOKEN_ENCRYPTION_KEY=your-encryption-key-here TOKEN_STORAGE_DB=/app/data/tokens.db # ===== OPTIONAL: DOCUMENT PROCESSING ===== # Extract text from PDFs, images, DOCX for semantic search #ENABLE_DOCUMENT_PROCESSING=true #ENABLE_UNSTRUCTURED=true #UNSTRUCTURED_API_URL=http://unstructured:8000 # ===== SUMMARY OF AUTO-ENABLEMENT ===== # With ENABLE_SEMANTIC_SEARCH=true in OAuth mode: # ✅ Background operations enabled automatically # ✅ Refresh token storage enabled automatically # ✅ OAuth credentials required (DCR or pre-registered) # ✅ Encryption key required for token storage # # You only need to set ENABLE_SEMANTIC_SEARCH and provide the required # infrastructure (Qdrant, Ollama, encryption key). The rest is automatic! # For more advanced configuration, see env.sample