Spaces:
Running
Running
Update Dockerfile
Browse files- 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
|
| 45 |
-
cp *.nnue /app/engine/
|
| 46 |
|
| 47 |
# ============================================================
|
| 48 |
-
# LAUNCHER PREPARATION
|
| 49 |
# ============================================================
|
| 50 |
WORKDIR /app
|
| 51 |
-
RUN
|
| 52 |
-
|
| 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
|
| 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
|
|
|
|
|
|
|
| 77 |
ENV PYTHONPATH="/app:/app/server"
|
|
|
|
|
|
|
| 78 |
EXPOSE 7860
|
| 79 |
|
| 80 |
-
#
|
| 81 |
-
CMD ["
|
|
|
|
| 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"]
|