-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
54 lines (44 loc) · 1.17 KB
/
Dockerfile
File metadata and controls
54 lines (44 loc) · 1.17 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
FROM node:lts
USER root
# base packages
RUN apt-get update && apt-get install -y \
asciinema \
build-essential \
chromium \
curl \
dbus \
dbus-user-session \
file \
fonts-noto-color-emoji \
git \
jq \
procps \
sqlite3 \
tmux \
vim-tiny \
wordnet \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/*
# homebrew dir
RUN mkdir -p /home/linuxbrew/.linuxbrew && chown -R node:node /home/linuxbrew
# entry point script with bootstrap
RUN cat >/start.sh <<EOF
#!/bin/bash
set -eo pipefail
[ -f "/home/node/.npmrc" ] || {
npm config set prefix /home/node/npm;
npm i -g openclaw@2026.3.11 clawhub mcporter awslabs.openapi-mcp-server;
}
dbus-daemon --session --fork --address=unix:path=/tmp/dbus-session.sock
openclaw gateway
EOF
RUN chmod 777 /start.sh
# non-root user
USER node
ENV USER=node
# install homebrew
RUN NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ENV PATH="/home/node/npm/bin:/home/node/.local/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:${PATH}"
# homebrew packages
RUN brew install gh go
ENTRYPOINT ["/start.sh"]