AuthorBot commited on
Commit
2a4848e
·
1 Parent(s): 772f852

Fix Dockerfile: use flat app/ structure, remove backend/ paths

Browse files
Files changed (1) hide show
  1. Dockerfile +11 -6
Dockerfile CHANGED
@@ -1,6 +1,7 @@
1
  # ============================================================
2
- # AuthorBot RAG API — Root Dockerfile for HuggingFace Spaces
3
- # Routing: /ui (Gradio) · /widget · /admin · /api/v1 · /health
 
4
  # ============================================================
5
  FROM python:3.11-slim AS builder
6
 
@@ -14,7 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
14
 
15
  WORKDIR /app
16
 
17
- COPY backend/requirements.txt .
18
  RUN pip install --no-cache-dir --upgrade pip && \
19
  pip install --no-cache-dir -r requirements.txt
20
 
@@ -39,15 +40,19 @@ ENV UPLOAD_STORAGE_PATH=/data/uploads
39
  COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
40
  COPY --from=builder /usr/local/bin /usr/local/bin
41
 
42
- COPY backend /app
 
 
 
43
 
44
- RUN mkdir -p /app/logs /data/chroma /data/uploads /data/redis && \
45
  printf 'dir /data/redis\nbind 127.0.0.1\nport 6379\ndaemonize yes\nlogfile /dev/null\n' > /app/redis-hf.conf
46
 
47
  RUN adduser --disabled-password --gecos "" --uid 1000 appuser && \
48
  chown -R appuser:appuser /app /data
49
  USER appuser
50
 
 
51
  RUN python -c "from sentence_transformers import CrossEncoder; CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')" || true
52
  RUN python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')" || true
53
 
@@ -58,4 +63,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=180s --retries=5 \
58
 
59
  EXPOSE 7860
60
 
61
- CMD ["sh", "-c", "mkdir -p /data/chroma /data/uploads /data/redis && redis-server /app/redis-hf.conf && sleep 1 && alembic upgrade head && uvicorn app.main:app --host 0.0.0.0 --port 7860 --workers 1 --loop uvloop --http httptools"]
 
1
  # ============================================================
2
+ # AuthorBot RAG API — HuggingFace Spaces Dockerfile
3
+ # Entry: app.py app/main.py (FastAPI)
4
+ # Routes: /api/chat/{slug} · /api/admin/{slug} · /api/super · /health
5
  # ============================================================
6
  FROM python:3.11-slim AS builder
7
 
 
15
 
16
  WORKDIR /app
17
 
18
+ COPY requirements.txt .
19
  RUN pip install --no-cache-dir --upgrade pip && \
20
  pip install --no-cache-dir -r requirements.txt
21
 
 
40
  COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
41
  COPY --from=builder /usr/local/bin /usr/local/bin
42
 
43
+ # Copy entire flat project (app/, static/, app.py, requirements.txt)
44
+ COPY app/ ./app/
45
+ COPY static/ ./static/
46
+ COPY app.py .
47
 
48
+ RUN mkdir -p /data/chroma /data/uploads /data/sessions /data/redis && \
49
  printf 'dir /data/redis\nbind 127.0.0.1\nport 6379\ndaemonize yes\nlogfile /dev/null\n' > /app/redis-hf.conf
50
 
51
  RUN adduser --disabled-password --gecos "" --uid 1000 appuser && \
52
  chown -R appuser:appuser /app /data
53
  USER appuser
54
 
55
+ # Pre-warm ML models (non-fatal if network unavailable at build time)
56
  RUN python -c "from sentence_transformers import CrossEncoder; CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')" || true
57
  RUN python -c "from sentence_transformers import SentenceTransformer; SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2')" || true
58
 
 
63
 
64
  EXPOSE 7860
65
 
66
+ CMD ["sh", "-c", "mkdir -p /data/chroma /data/uploads /data/sessions /data/redis && redis-server /app/redis-hf.conf && sleep 1 && uvicorn app.main:app --host 0.0.0.0 --port 7860 --workers 1 --loop uvloop --http httptools"]