Spaces:
Running
Running
| # 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=${HF_USERNAME} \ | |
| OPENCODE_SERVER_PASSWORD=${HF_PASSWORD} \ | |
| opencode web --port 7860 --hostname 0.0.0.0"] | |