mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +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