Added proxy routes for all OpenCode internal API endpoints to support full application functionality when accessed via session manager: - project, agent, config, model endpoints - thread, chat, conversation endpoints - command, mcp, lsp, vcs endpoints - permission, question, event, status endpoints - internal session endpoint (distinct from container sessions) Also updated Caddyfile for routing configuration.
188 lines
3.7 KiB
Caddyfile
188 lines
3.7 KiB
Caddyfile
# 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
|
|
}
|
|
} |