File size: 960 Bytes
40b0a1b fa702d1 40b0a1b fa702d1 c6f6203 fa702d1 931307a 40b0a1b fa702d1 40b0a1b fa702d1 40b0a1b fa702d1 40b0a1b 26a4ea6 fa702d1 40b0a1b fa702d1 26a4ea6 fa702d1 40b0a1b 26a4ea6 | 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 | # 1. Node.js stable version
FROM node:18-slim
# 2. Install required system tools & HF CLI
RUN apt-get update && apt-get install -y \
curl \
bash \
git \
python3 \
python3-pip \
python3.11-venv \
build-essential \
gcc \
g++ \
make \
nano \
zip \
unzip \
procps \
&& curl -LsSf https://hf.co/cli/install.sh | bash \
&& rm -rf /var/lib/apt/lists/*
# 3. Install OpenCode
RUN curl -fsSL https://opencode.ai/install | bash
# 4. Setup data folder and root permissions
USER root
RUN mkdir -p /data && chmod 777 /data
WORKDIR /data
# 5. Copy entrypoint script
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# 6. Environment settings with RAM limit
ENV OPENCODE_DATA_DIR=/data
ENV HOME=/data
ENV PATH="/root/.local/bin:/home/node/.local/bin:$PATH"
ENV NODE_OPTIONS="--max-old-space-size=14336"
# 7. Expose port 7860
EXPOSE 7860
# 8. Run entrypoint script
CMD ["/entrypoint.sh"] |