# Lovdata Chat Reverse Proxy Configuration # Using HTTP for local development (no SSL warnings) # Main web interface - HTTP only for development http://localhost { # API endpoints for session management handle /api/* { uri strip_prefix /api reverse_proxy session-manager:8000 } # OpenCode internal session API (without session_id in path) # Must be BEFORE /session/{session_id}* to match first handle /session { reverse_proxy session-manager:8000 } # Session-specific routing - proxy to session manager for dynamic routing handle /session/{session_id}* { reverse_proxy session-manager:8000 } # OpenCode SPA runtime requests - route based on session cookie handle /global/* { reverse_proxy session-manager:8000 } handle /assets/* { reverse_proxy session-manager:8000 } handle /provider/* { reverse_proxy session-manager:8000 } handle /provider { reverse_proxy session-manager:8000 } handle /project { reverse_proxy session-manager:8000 } handle /path { reverse_proxy session-manager:8000 } handle /find/* { reverse_proxy session-manager:8000 } handle /file { reverse_proxy session-manager:8000 } handle /file/* { reverse_proxy session-manager:8000 } # Additional OpenCode API endpoints for root-path operation handle /agent { reverse_proxy session-manager:8000 } handle /agent/* { reverse_proxy session-manager:8000 } handle /config { reverse_proxy session-manager:8000 } handle /config/* { reverse_proxy session-manager:8000 } handle /model { reverse_proxy session-manager:8000 } handle /model/* { reverse_proxy session-manager:8000 } handle /thread/* { reverse_proxy session-manager:8000 } handle /chat/* { reverse_proxy session-manager:8000 } handle /tree { reverse_proxy session-manager:8000 } handle /tree/* { reverse_proxy session-manager:8000 } handle /conversation { reverse_proxy session-manager:8000 } handle /conversation/* { reverse_proxy session-manager:8000 } handle /project/* { reverse_proxy session-manager:8000 } # OpenCode communication endpoints for message sending handle /command { reverse_proxy session-manager:8000 } handle /command/* { reverse_proxy session-manager:8000 } handle /mcp { reverse_proxy session-manager:8000 } handle /mcp/* { reverse_proxy session-manager:8000 } handle /lsp { reverse_proxy session-manager:8000 } handle /lsp/* { reverse_proxy session-manager:8000 } handle /vcs { reverse_proxy session-manager:8000 } handle /vcs/* { reverse_proxy session-manager:8000 } handle /permission { reverse_proxy session-manager:8000 } handle /permission/* { reverse_proxy session-manager:8000 } handle /question { reverse_proxy session-manager:8000 } handle /question/* { reverse_proxy session-manager:8000 } handle /event { reverse_proxy session-manager:8000 } handle /event/* { reverse_proxy session-manager:8000 } handle /status { reverse_proxy session-manager:8000 } handle /status/* { reverse_proxy session-manager:8000 } # Health check handle /health { reverse_proxy session-manager:8000 } # Static files and main interface (fallback) handle /* { try_files {path} {path}/ /index.html file_server } }