Amogh1221 commited on
Commit
a129e82
·
verified ·
1 Parent(s): d63baf9

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -20
Dockerfile CHANGED
@@ -41,41 +41,35 @@ RUN wget -q https://tests.stockfishchess.org/api/nn/nn-9a0cc2a62c52.nnue && \
41
  RUN make -j$(nproc) all ARCH=general-64 && \
42
  mkdir -p /app/engine && \
43
  cp stockfish /app/engine/deepcastle && \
44
- chmod +x /app/engine/deepcastle && \
45
- cp *.nnue /app/engine/
46
 
47
  # ============================================================
48
- # LAUNCHER PREPARATION (The Search & Destroy Fix)
49
  # ============================================================
50
  WORKDIR /app
51
- RUN echo "Searching for Launcher (main.py)..." && \
52
- LAUNCHER_PATH=$(find /app -name "main.py" | head -n 1) && \
53
- if [ -n "$LAUNCHER_PATH" ]; then \
54
- echo "Found launcher at: $LAUNCHER_PATH. Copying to root..."; \
55
- cp "$LAUNCHER_PATH" /app/launcher.py; \
56
- else \
57
- echo "CRITICAL ERROR: main.py not found in the repository!"; \
58
- exit 1; \
59
- fi
60
 
61
  # ============================================================
62
- # BRAIN PLACEMENT (The Custom Sync)
63
  # ============================================================
64
  WORKDIR /app/engine
65
 
66
  # Download ALL brains into the final folder for runtime search safety
67
  RUN cp /app/src/*.nnue /app/engine/ && \
68
- wget -q https://huggingface.co/spaces/Amogh1221/deepcastle-api/resolve/main/output.nnue -O /app/engine/output.nnue
 
69
 
70
- # ============================================================
71
- # BACKEND SETUP
72
- # ============================================================
73
  WORKDIR /app
74
  RUN pip install --no-cache-dir fastapi uvicorn python-chess pydantic websockets
75
 
76
- # Set PYTHONPATH to include all potential source directories
 
 
77
  ENV PYTHONPATH="/app:/app/server"
 
 
78
  EXPOSE 7860
79
 
80
- # START: Use the guaranteed launcher in the root
81
- CMD ["python3", "/app/launcher.py"]
 
41
  RUN make -j$(nproc) all ARCH=general-64 && \
42
  mkdir -p /app/engine && \
43
  cp stockfish /app/engine/deepcastle && \
44
+ chmod -R 777 /app/engine
 
45
 
46
  # ============================================================
47
+ # LAUNCHER PREPARATION
48
  # ============================================================
49
  WORKDIR /app
50
+ RUN LAUNCHER_PATH=$(find /app -name "main.py" | head -n 1) && \
51
+ cp "$LAUNCHER_PATH" /app/launcher.py
 
 
 
 
 
 
 
52
 
53
  # ============================================================
54
+ # BRAIN PLACEMENT (The Final Sync)
55
  # ============================================================
56
  WORKDIR /app/engine
57
 
58
  # Download ALL brains into the final folder for runtime search safety
59
  RUN cp /app/src/*.nnue /app/engine/ && \
60
+ wget -q https://huggingface.co/spaces/Amogh1221/deepcastle-api/resolve/main/output.nnue -O /app/engine/output.nnue && \
61
+ chmod -R 777 /app/engine
62
 
 
 
 
63
  WORKDIR /app
64
  RUN pip install --no-cache-dir fastapi uvicorn python-chess pydantic websockets
65
 
66
+ # Set paths and ensure portability
67
+ ENV ENGINE_PATH=/app/engine/deepcastle
68
+ ENV NNUE_PATH=/app/engine/output.nnue
69
  ENV PYTHONPATH="/app:/app/server"
70
+ ENV PYTHONUNBUFFERED=1
71
+
72
  EXPOSE 7860
73
 
74
+ # FINAL SAFETY: Use uvicorn directly for better logging
75
+ CMD ["uvicorn", "launcher:app", "--host", "0.0.0.0", "--port", "7860"]