Spaces:
Runtime error
Runtime error
| FROM ghcr.io/astral-sh/uv:0.7.6-python3.11-bookworm | |
| # Set environment variables | |
| ENV PYTHONUNBUFFERED=1 \ | |
| PYTHONDONTWRITEBYTECODE=1 \ | |
| PORT=8080 \ | |
| HF_HOME=/workspace \ | |
| SPACE_ID="" | |
| # Check if we're running in a HF Space | |
| ENV IS_HF_SPACE=${SPACE_ID:+1} | |
| # Set cache directory based on IS_HF_SPACE | |
| RUN export CACHE_DIR=${IS_HF_SPACE:+/workspace/hub/.cache} && \ | |
| export CACHE_DIR=${IS_HF_SPACE:-/app/.cache} | |
| # Ensure we use the virtual environment's Python | |
| ENV PATH=/app/.venv/bin:$PATH | |
| # Set working directory | |
| WORKDIR /app | |
| # Copy only necessary files first | |
| COPY pyproject.toml uv.lock ./ | |
| COPY token.json ./ | |
| COPY app/ ./app/ | |
| # Install dependencies | |
| RUN uv sync | |
| EXPOSE 8080 | |
| # Create and set permissions for workspace and cache directories | |
| RUN mkdir -p /workspace/hub/.cache && \ | |
| chmod -R 777 /workspace && \ | |
| mkdir -p /app/.cache && \ | |
| chmod -R 777 /app/.cache | |
| # Copy token.json to /workspace | |
| COPY token.json /workspace/ | |
| # Create a non-root user | |
| RUN useradd -m -u 1000 user && \ | |
| chown -R user /workspace | |
| # Switch to non-root user | |
| USER user | |
| # Set up volume after user configuration | |
| VOLUME /workspace | |
| # Run the app and tools_server.py | |
| CMD uvicorn app.api.tools_server:app --host 0.0.0.0 --port 8080 |