mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
removed as I have a better one
This commit is contained in:
@@ -1,62 +0,0 @@
|
||||
# ===== STAGE 1: Build Dependencies =====
|
||||
FROM debian:trixie-slim AS builder
|
||||
ARG TARGETARCH
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates curl gnupg git build-essential \
|
||||
golang-go nodejs npm \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install opencode from GitHub releases
|
||||
RUN ARCH=${TARGETARCH} \
|
||||
&& if [ "$ARCH" = "amd64" ]; then ARCH="x86_64"; fi \
|
||||
&& curl -fsSL "https://github.com/anomalyco/opencode/releases/latest/download/opencode_linux_${ARCH}.tar.gz" \
|
||||
| tar -xz -C /usr/local/bin opencode \
|
||||
&& chmod +x /usr/local/bin/opencode
|
||||
|
||||
# Build openclaw from source
|
||||
WORKDIR /build/openclaw
|
||||
RUN git clone --depth 1 https://github.com/openclaw/openclaw.git . \
|
||||
&& npm ci \
|
||||
&& npm run build \
|
||||
&& mkdir -p /opt/openclaw \
|
||||
&& cp -r dist/* /opt/openclaw/ \
|
||||
&& cp package.json /opt/openclaw/ \
|
||||
&& cp -r node_modules /opt/openclaw/
|
||||
|
||||
# ===== STAGE 2: Runtime =====
|
||||
FROM debian:trixie-slim
|
||||
|
||||
# Install runtime dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
supervisor curl ca-certificates tini \
|
||||
&& curl -fsSL https://ollama.com/install.sh | sh \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install code-server
|
||||
RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone
|
||||
|
||||
# Copy binaries from builder
|
||||
COPY --from=builder /usr/local/bin/opencode /usr/local/bin/opencode
|
||||
COPY --from=builder /opt/openclaw /opt/openclaw
|
||||
|
||||
# Create volume directories
|
||||
RUN mkdir -p \
|
||||
/data/ollama \
|
||||
/config /data /projects \
|
||||
/home/node/.openclaw /home/node/.openclaw/workspace /home/node/.config/openclaw \
|
||||
/data/vscode/data /data/vscode/config
|
||||
|
||||
# Copy supervisor config
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
# Copy default opencode config
|
||||
COPY opencode-config.json /config/config.json
|
||||
|
||||
# Set timezone
|
||||
ENV TZ=America/Vancouver
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
# Entrypoint
|
||||
ENTRYPOINT ["tini", "--", "/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||
@@ -1,43 +0,0 @@
|
||||
# nixai_dev Docker Compose
|
||||
|
||||
services:
|
||||
nixai:
|
||||
image: ${NIXAI_IMAGE:-git.4lt.ca/yourname/nixai:v0.0.1}
|
||||
restart: ${NIXAI_RESTART:-unless-stopped}
|
||||
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/nixai/ollama:/data/ollama
|
||||
- ${VOL_PATH:-/data}/nixai/opencode/config:/config
|
||||
- ${VOL_PATH:-/data}/nixai/opencode/data:/data
|
||||
- ${VOL_PATH:-/data}/nixai/opencode/projects:/projects
|
||||
- ${VOL_PATH:-/data}/nixai/openclaw/config:/home/node/.openclaw
|
||||
- ${VOL_PATH:-/data}/nixai/openclaw/workspace:/home/node/.openclaw/workspace
|
||||
- ${VOL_PATH:-/data}/nixai/openclaw/auth-secrets:/home/node/.config/openclaw
|
||||
- ${VOL_PATH:-/data}/nixai/vscode/data:/data/vscode/data
|
||||
- ${VOL_PATH:-/data}/nixai/vscode/config:/data/vscode/config
|
||||
|
||||
environment:
|
||||
- TZ=${TZ:-America/Vancouver}
|
||||
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
|
||||
- VSCODE_PASSWORD=${VSCODE_PASSWORD}
|
||||
|
||||
ports:
|
||||
- "11434:11434"
|
||||
- "4096:4096"
|
||||
- "18789:18789"
|
||||
- "8443:8443"
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: all
|
||||
capabilities: [gpu]
|
||||
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
@@ -1,70 +0,0 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"model": "ollama/qwen2.5-coder:14b",
|
||||
"provider": {
|
||||
"ollama": {
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"options": {
|
||||
"baseURL": "http://localhost:11434/v1"
|
||||
},
|
||||
"models": {
|
||||
"qwen3:8b": {
|
||||
"name": "Qwen3 8B",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 32768,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"qwen3:8b-16k": {
|
||||
"name": "Qwen3 8B (16k UI-Context)",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 16384,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"qwen2.5:7b": {
|
||||
"name": "Qwen2.5 7B",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 32768,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"qwen2.5-coder:14b": {
|
||||
"name": "Qwen2.5 Coder 14B",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 32768,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"mistral:latest": {
|
||||
"name": "Mistral 7B",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 32768,
|
||||
"output": 4096
|
||||
}
|
||||
},
|
||||
"mistral-small3.2:latest": {
|
||||
"name": "Mistral Small 3.2",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 131072,
|
||||
"output": 8192
|
||||
}
|
||||
},
|
||||
"llama3.1:8b": {
|
||||
"name": "Llama 3.1 8B",
|
||||
"tools": true,
|
||||
"limit": {
|
||||
"context": 131072,
|
||||
"output": 8192
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
# ===== Base Paths =====
|
||||
VOL_PATH=/data
|
||||
TZ=America/Vancouver
|
||||
|
||||
# ===== Image =====
|
||||
NIXAI_IMAGE=ghcr.io/yourname/nixai:v0.0.1
|
||||
NIXAI_RESTART=unless-stopped
|
||||
|
||||
# ===== Required Secrets =====
|
||||
OPENCLAW_GATEWAY_TOKEN=change-me-to-a-random-secret
|
||||
VSCODE_PASSWORD=change-this-password
|
||||
|
||||
# ===== Ollama =====
|
||||
OLLAMA_HOST=0.0.0.0:11434
|
||||
|
||||
# ===== OpenCode =====
|
||||
OPENCODE_PORT=4096
|
||||
OPENCODE_HOSTNAME=0.0.0.0
|
||||
OPENCODE_CONFIG=/config/config.json
|
||||
|
||||
# ===== OpenClaw =====
|
||||
OPENCLAW_PORT=18789
|
||||
OPENCLAW_GATEWAY_BIND=lan
|
||||
OPENCLAW_DISABLE_BONJOUR=1
|
||||
|
||||
# ===== Code Server =====
|
||||
VSCODE_PORT=8443
|
||||
VSCODE_PUID=0
|
||||
VSCODE_PGID=0
|
||||
DEFAULT_WORKSPACE=/data
|
||||
@@ -1,42 +0,0 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
logfile=/dev/null
|
||||
logfile_maxbytes=0
|
||||
pidfile=/run/supervisord.pid
|
||||
|
||||
[program:ollama]
|
||||
command=/usr/local/bin/ollama serve
|
||||
environment=OLLAMA_HOST=0.0.0.0:11434,OLLAMA_MODELS=/data/ollama
|
||||
autorestart=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
[program:opencode]
|
||||
command=/usr/local/bin/opencode serve --port 4096 --hostname 0.0.0.0
|
||||
environment=OPENCODE_CONFIG=/config/config.json,OLLAMA_HOST=http://localhost:11434/v1
|
||||
autorestart=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
[program:openclaw]
|
||||
command=node /opt/openclaw/dist/index.js gateway --bind lan --port 18789
|
||||
directory=/opt/openclaw
|
||||
environment=OPENCLAW_GATEWAY_TOKEN=%(ENV_OPENCLAW_GATEWAY_TOKEN)s,OPENCLAW_GATEWAY_BIND=lan,OPENCLAW_DISABLE_BONJOUR=1
|
||||
autorestart=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
[program:code-server]
|
||||
command=/usr/bin/code-server --bind-addr 0.0.0.0:8443 --auth password --config /data/vscode/config/config.yaml /data
|
||||
environment=PASSWORD=%(ENV_VSCODE_PASSWORD)s,DEFAULT_WORKSPACE=/data
|
||||
autorestart=true
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
Reference in New Issue
Block a user