# 1. Node.js का स्टेबल वर्जन FROM node:18-slim # 2. सभी ज़रूरी सिस्टम टूल्स (git, python, gcc, make, nano, zip) 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 इंस्टॉल करें RUN curl -fsSL https://opencode.ai/install | bash # 4. डेटा फोल्डर और रूट परमिशन सेटअप USER root RUN mkdir -p /data && chmod 777 /data WORKDIR /data # 5. एनवायरनमेंट सेटिंग्स (सिर्फ पाथ और डेटा डायरेक्टरी) ENV OPENCODE_DATA_DIR=/data ENV HOME=/data ENV PATH="/root/.local/bin:/home/node/.local/bin:$PATH" # 6. पोर्ट 7860 एक्सपोज़ करें (Hugging Face के लिए ज़रूरी) EXPOSE 7860 # 7. फाइनल कमांड: Git सेट करना और Secrets को सीधे Inject करना # यहाँ हमने OPENCODE_SERVER_PASSWORD को सीधे 'opencode web' के साथ जोड़ दिया है 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_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME} \ OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD} \ opencode web --port 7860 --hostname 0.0.0.0"]