diff --git a/omo/Dockerfile b/omo/Dockerfile new file mode 100644 index 0000000..92f111d --- /dev/null +++ b/omo/Dockerfile @@ -0,0 +1,12 @@ +FROM node:22-slim + +# Install oh-my-opencode (ships its own opencode binary with omo extensions) +RUN npm install -g oh-my-opencode + +# Run non-interactive setup — all cloud providers disabled, bifrost configured via opencode.json +RUN oh-my-opencode install --no-tui --claude=no --openai=no --gemini=no --copilot=no + +# Config is mounted at runtime via volume +WORKDIR /workspace + +ENTRYPOINT ["oh-my-opencode"] diff --git a/omo/docker-compose.yml b/omo/docker-compose.yml new file mode 100644 index 0000000..2f55bb7 --- /dev/null +++ b/omo/docker-compose.yml @@ -0,0 +1,17 @@ +services: + omo: + build: . + container_name: omo + volumes: + - /home/alvis:/workspace + - ./opencode.json:/root/.config/opencode/opencode.json:ro + entrypoint: ["sleep", "infinity"] + stdin_open: true + tty: true + networks: + - adolf_default + restart: unless-stopped + +networks: + adolf_default: + external: true diff --git a/omo/opencode.json b/omo/opencode.json new file mode 100644 index 0000000..b3bd88f --- /dev/null +++ b/omo/opencode.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://opencode.ai/config.json", + "provider": { + "bifrost": { + "npm": "@ai-sdk/openai-compatible", + "name": "Bifrost", + "options": { + "baseURL": "http://bifrost:8080/v1", + "apiKey": "dummy" + }, + "models": { + "ollama/qwen3:8b": { + "name": "qwen3:8b" + }, + "ollama/qwen3:4b": { + "name": "qwen3:4b" + }, + "ollama/qwen2.5:1.5b": { + "name": "qwen2.5:1.5b" + }, + "ollama/gemma3:4b": { + "name": "gemma3:4b" + } + } + } + }, + "model": "bifrost/ollama/qwen3:8b" +}