File size: 1,006 Bytes
c0a405e
45b512c
 
c0a405e
704910f
c0a405e
 
704910f
45b512c
c0a405e
 
45b512c
c0a405e
45b512c
 
 
 
c0a405e
45b512c
 
 
c0a405e
 
 
45b512c
c0a405e
45b512c
 
c0a405e
 
 
 
 
 
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
# 1. Node.js Stable Version
FROM node:18-slim

# 2. AI & Development Tools
RUN apt-get update && apt-get install -y \
    curl bash git python3 python3-pip build-essential \
    gcc g++ make nano zip unzip \
    && rm -rf /var/lib/apt/lists/*

# 3. OpenCode Install
RUN curl -fsSL https://opencode.ai/install | bash

# 4. Root User & Data Folder
USER root
RUN mkdir -p /data && chmod 777 /data
WORKDIR /data

# 5. Environment Settings
ENV PATH="/root/.local/bin:/home/node/.local/bin:$PATH"
ENV OPENCODE_DATA_DIR=/data
ENV HOME=/data
# Auth from HF Secrets (会自动从环境变量读取)
ENV OPENCODE_SERVER_USERNAME=${HF_USERNAME:-opencode}
ENV OPENCODE_SERVER_PASSWORD=${HF_PASSWORD}

# 6. Port 7860
EXPOSE 7860

# 7. Final Command
CMD ["bash", "-c", \
    "git config --global user.email 'badal@example.com' && \
     git config --global user.name 'Badal' && \
     export PATH=$PATH:$(find / -name opencode -type f -printf '%h' -quit 2>/dev/null); \
     opencode web --port 7860 --hostname 0.0.0.0"]