-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile
More file actions
132 lines (109 loc) · 7.48 KB
/
Dockerfile
File metadata and controls
132 lines (109 loc) · 7.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
FROM node:22-slim
LABEL maintainer="Ogie @ SolCex Exchange"
LABEL description="Buzz BD Agent — Autonomous AI Business Development on Akash Network"
LABEL version="8.1.0"
LABEL features="Opus Brain, Express Cron Executor, 39+ crons, dual-gate scoring, 135 endpoints, AIBTC + Moltbook presence"
# ══════════════════════════════════════════════════
# SYSTEM DEPENDENCIES
# ══════════════════════════════════════════════════
RUN apt-get update && apt-get install -y --no-install-recommends \
tini curl ca-certificates git jq python3 python3-pip build-essential \
&& rm -rf /var/lib/apt/lists/*
# ══════════════════════════════════════════════════
# GLOBAL NPM PACKAGES
# ══════════════════════════════════════════════════
# OpenClaw REMOVED (v8.1.0 — Opus Brain replaces all LLM orchestration)
RUN npm install -g @bankr/cli \
&& npm install -g tsx \
&& npm install -g @bnb-chain/mcp \
&& npm install -g helius-mcp \
&& npm install -g nansen-cli
# ══════════════════════════════════════════════════
# EXCHANGE SKILLS (v8.1.0 — clawhub/openclaw removed, npx skills kept)
# ══════════════════════════════════════════════════
RUN npx skills add binance/binance-skills-hub 2>/dev/null || true
RUN npx skills add bitget/bitget-skill 2>/dev/null || true
RUN npm install -g bitget-client 2>/dev/null || true
# Solana 8004 SDK (install separately — large dependency tree)
RUN npm install -g 8004-solana @solana/web3.js 2>/dev/null || echo "⚠️ 8004-solana install failed — will install at runtime"
# AgentProof SDK (Python package, not npm)
RUN pip install agentproof --break-system-packages 2>/dev/null || true
# ══════════════════════════════════════════════════
# DIRECTORY STRUCTURE
# ══════════════════════════════════════════════════
RUN mkdir -p /data/.openclaw \
&& mkdir -p /data/workspace/memory \
&& mkdir -p /data/workspace/skills \
&& mkdir -p /data/.npm-global \
&& mkdir -p /data/logs \
&& mkdir -p /opt/buzz-skills \
&& mkdir -p /opt/buzz-config \
&& mkdir -p /opt/buzz-prompts \
&& mkdir -p /opt/buzz-api \
&& mkdir -p /opt/buzz-acp
# ══════════════════════════════════════════════════
# COPY SKILLS (baked into image)
# ══════════════════════════════════════════════════
# Original skills from repo
COPY skills/ /opt/buzz-skills/
# All workspace skills exported from live container (orchestrator, pipeline-scan,
# twitter-poster, bankr, bankr-partner, bankr-signals, atv-batch,
# buzz-scan-formatter, content-filter, data-failover, master-ops, quillshield, etc.)
COPY bake/skills/ /opt/buzz-workspace-skills/
# ══════════════════════════════════════════════════
# BAKE: Cron schedule (38+ jobs), memory, pipeline data
# ══════════════════════════════════════════════════
COPY bake/memory/ /opt/buzz-memory/
# Persistent directive (repo-managed)
COPY memory/ /opt/buzz-memory-repo/
COPY bake/cron/ /opt/buzz-cron/
# ══════════════════════════════════════════════════
# Twitter Bot removed 2026-04-22 — dead code, entrypoint killed it on
# every boot. Opus Brain handles all tweets via War Room approval.
# ══════════════════════════════════════════════════
# Config reference
COPY bake/config/ /opt/buzz-config/
# ══════════════════════════════════════════════════
# v7.0: Strategic Orchestrator config, prompts, skills
# ══════════════════════════════════════════════════
COPY config/ /opt/buzz-config/
COPY prompts/ /opt/buzz-prompts/
COPY skills/cost-guard/ /opt/buzz-workspace-skills/cost-guard/
COPY skills/agent-contexts/ /opt/buzz-workspace-skills/agent-contexts/
COPY skills/notification-filter/ /opt/buzz-workspace-skills/notification-filter/
# v8.2.0: ClawTeam TOML templates for 12 persistent agents
COPY team-templates/ /opt/team-templates/
# ══════════════════════════════════════════════════
# REST API — Express + SQLite (baked into image)
# ══════════════════════════════════════════════════
COPY api/ /opt/buzz-api/
WORKDIR /opt/buzz-api
RUN npm install --production --build-from-source
WORKDIR /
# ══════════════════════════════════════════════════
# ACP SKILL — Virtuals Protocol Agent Commerce
# Clone openclaw-acp and install dependencies
# ══════════════════════════════════════════════════
RUN git clone --depth 1 https://github.com/Virtual-Protocol/openclaw-acp.git /opt/buzz-acp/openclaw-acp \
&& cd /opt/buzz-acp/openclaw-acp \
&& npm install --production --ignore-scripts \
&& npx tsc --skipLibCheck 2>/dev/null || true
# Copy ACP service offerings (our 4 services)
COPY acp/offerings/ /opt/buzz-acp/offerings/
# Copy ACP config template (populated at runtime from env vars)
COPY acp/config.json.template /opt/buzz-acp/config.json.template
# Copy ACP auto-start script
COPY acp/start-acp.sh /opt/buzz-acp/start-acp.sh
RUN chmod +x /opt/buzz-acp/start-acp.sh
# ══════════════════════════════════════════════════
# ENTRYPOINT
# ══════════════════════════════════════════════════
COPY entrypoint.sh /entrypoint.sh
COPY BUZZ_RULES.md /opt/BUZZ_RULES.md
RUN chmod +x /entrypoint.sh
# ══════════════════════════════════════════════════
# PORTS
# ══════════════════════════════════════════════════
# 3000 = REST API (OpenClaw 18789 REMOVED in v8.1.0)
EXPOSE 3000
ENTRYPOINT ["/usr/bin/tini", "--", "/entrypoint.sh"]