Add omo (oh-my-opencode) service

Docker deployment of oh-my-opencode connected to Bifrost LLM gateway
via the adolf_default network. Configured with local Ollama models
(qwen3:8b default) — no cloud provider dependencies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alvis
2026-03-17 03:06:18 +00:00
parent e04f9059ae
commit b7c503499a
3 changed files with 57 additions and 0 deletions

12
omo/Dockerfile Normal file
View File

@@ -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"]

17
omo/docker-compose.yml Normal file
View File

@@ -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

28
omo/opencode.json Normal file
View File

@@ -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"
}