diff --git a/.gitignore b/.gitignore index d53ced0..3cfe279 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ supabase/ searxng/ neo4j/ caddy/ +opencode/* +!opencode/opencode.jsonc open-webui/functions/ open-webui/piplines/ open-webui/tools/ diff --git a/docker-compose.yml b/docker-compose.yml index 74f7310..65e09be 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,6 +5,7 @@ volumes: n8n_data: ollama_data: qdrant_data: + opencode_data: open_webui_data: open_webui_pipelines_data: langfuse_postgres_data: @@ -82,7 +83,7 @@ services: required: true mcp-gateway: - profiles: ["open-webui-mcpo", "open-webui", "open-webui-all", "n8n", "n8n-all", "ai-all"] + profiles: ["open-webui-mcpo", "open-webui", "opencode", "open-webui-all", "n8n", "n8n-all", "ai-all"] image: docker/mcp-gateway container_name: mcp-gateway command: @@ -132,6 +133,17 @@ services: depends_on: - open-webui + opencode: + profiles: ["opencode", "ai-all"] + container_name: opencode + image: ghcr.io/sst/opencode + stdin_open: true + tty: true + volumes: + - opencode_data:/root/.config/opencode + - ./opencode/opencode.jsonc:/root/.config/opencode/opencode.jsonc + - ${PROJECTS_PATH:-./opencode}:/root/projects + flowise: profiles: ["flowise", "ai-all"] image: flowiseai/flowise diff --git a/opencode/opencode.jsonc b/opencode/opencode.jsonc new file mode 100644 index 0000000..71836e8 --- /dev/null +++ b/opencode/opencode.jsonc @@ -0,0 +1,29 @@ +{ + "$schema": "https://opencode.ai/config.json", + "model": "ollama/llama3.2", + "autoupdate": true, + "provider": { + "ollama": { + "npm": "@ai-sdk/openai-compatible", + "name": "Ollama (local)", + "options": { + "baseURL": "http://host.docker.internal:11434/v1" + }, + "models": { + "llama3.2": { + "name": "Llama 3.2" + }, + "qwen3:4b-q8_0": { + "name": "Qwen 3.4 4b q8_0" + } + } + } + }, + "mcp": { + "MCP_DOCKER": { + "type": "remote", + "url": "http://host.docker.internal:8060/mcp", + "enabled": true + } + } +} \ No newline at end of file diff --git a/suite_services.py b/suite_services.py index 02140e5..c1fd911 100644 --- a/suite_services.py +++ b/suite_services.py @@ -530,7 +530,7 @@ def main(): open_webui_utils_profiles = ['open-webui-mcpo', 'open-webui-pipe'] open_webui_profiles = ['open-webui', 'open-webui-all'] open_webui_all_profiles = open_webui_profiles + n8n_all_profiles - agent_all_profiles = open_webui_all_profiles + agent_all_profiles = open_webui_all_profiles + ['opencode'] server_profiles = ['supabase', 'flowise', 'searxng', 'langfuse', 'neo4j', 'caddy'] profiles = agent_all_profiles + open_webui_utils_profiles + server_profiles + ollama_profiles operations = ['stop', 'start', 'pause', 'unpause']