Spaces:
Running
Running
| FROM mintplexlabs/anythingllm:master | |
| USER root | |
| # 1. Install sync tools | |
| RUN apt-get update && apt-get install -y python3-pip && \ | |
| pip3 install --break-system-packages huggingface_hub | |
| # 2. Set environment variables (Absolute paths) | |
| ENV STORAGE_DIR="/app/server/storage" | |
| ENV COLLECTOR_HOTDIR="/app/server/storage/collector/hotdir" | |
| ENV NODE_ENV="production" | |
| # 3. Create folders, fix permissions, and force-map the root | |
| RUN mkdir -p /app/server/storage/collector/hotdir && \ | |
| mkdir -p /app/server/storage/vector-cache && \ | |
| # THE CRITICAL STEP: Completely remove the root /collector and link it to our writable storage | |
| rm -rf /collector && \ | |
| ln -s /app/server/storage/collector /collector && \ | |
| # Set permissions for the user '1000' (Hugging Face default) | |
| chown -R 1000:1000 /app && \ | |
| chmod -R 777 /app/server/storage | |
| # 4. Create the Startup & Sync script | |
| RUN echo '#!/bin/bash\n\ | |
| # A. Get data from Dataset\n\ | |
| huggingface-cli download Keyan2006/questions-from-adda --local-dir /app/server/storage --repo-type dataset || echo "New Setup"\n\ | |
| \n\ | |
| # B. Sync to Dataset every 5 minutes\n\ | |
| (while true; do \n\ | |
| sleep 300; \n\ | |
| huggingface-cli upload Keyan2006/questions-from-adda /app/server/storage . --repo-type dataset --token $HF_TOKEN --quiet; \n\ | |
| done) &\n\ | |
| \n\ | |
| # C. Start AnythingLLM\n\ | |
| node /app/server/index.js' > /app/start.sh && chmod +x /app/start.sh | |
| USER 1000 | |
| EXPOSE 3001 | |
| CMD ["/app/start.sh"] |