openclaw / Dockerfile
zngw's picture
telegram่„šๆœฌ
c63f929
Raw
History Blame Contribute Delete
1.76 kB
FROM node:22-slim
ARG APP_HOME=/root/.openclaw
ARG SCRIPTS_DIR=/usr/local/bin
# 0. ๅˆ›ๅปบๅŸบ็ก€็›ฎๅฝ•
RUN mkdir -p ${APP_HOME}
# 1. ๅฎ‰่ฃ…็ณป็ปŸไพ่ต–
# ไผ˜ๅŒ–๏ผšๅˆๅนถ RUN ๆŒ‡ไปค๏ผŒๅ‡ๅฐ‘ๅฑ‚ๆ•ฐ๏ผ›็กฎไฟ่ฏไนฆๆ›ดๆ–ฐๅœจๅฎ‰่ฃ…ๅŽ็ซ‹ๅณๆ‰ง่กŒ
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
openssh-client \
build-essential \
g++ \
make \
python3 \
python3-pip \
python3-venv \
ca-certificates \
jq \
curl \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates
# 2. ๅฎ‰่ฃ… Hugging Face ๅ‘ฝไปค่กŒๅทฅๅ…ท
RUN pip3 install --no-cache-dir huggingface_hub --break-system-packages
# 3. ้…็ฝฎ Git
RUN git config --global url."https://github.com/".insteadOf ssh://git@github.com/ && \
git config --global --add safe.directory "*"
# 4. ๅ…จๅฑ€ๅฎ‰่ฃ… OpenClaw
RUN npm install -g openclaw@latest --unsafe-perm
# 5. ๅคๅˆถๆ‰€ๆœ‰่„šๆœฌๅ’Œๆจกๆฟ
COPY scripts/sync.py ${SCRIPTS_DIR}/sync.py
COPY scripts/pending.py ${SCRIPTS_DIR}/pending.py
COPY scripts/start-openclaw.sh ${SCRIPTS_DIR}/start-openclaw.sh
COPY scripts/telegram-dns-check.sh ${SCRIPTS_DIR}/telegram-dns-check.sh
COPY config/openclaw.json ${APP_HOME}/openclaw.json
# ่ต‹ไบˆๆ‰ง่กŒๆƒ้™
RUN chmod +x ${SCRIPTS_DIR}/sync.py ${SCRIPTS_DIR}/pending.py ${SCRIPTS_DIR}/start-openclaw.sh ${SCRIPTS_DIR}/telegram-dns-check.sh
# 6. ่ฎพ็ฝฎ็Žฏๅขƒๅ˜้‡
ENV PORT=7860 \
OPENCLAW_GATEWAY_MODE=local \
HOME=/root \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1
# 7. ๆšด้œฒ็ซฏๅฃ
EXPOSE ${PORT}
# 8. ๅฅๅบทๆฃ€ๆŸฅ
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
CMD curl -f http://localhost:${PORT}/health || exit 1
# 9. ๅ…ฅๅฃ็‚น
ENTRYPOINT ["/usr/local/bin/start-openclaw.sh"]