From ebbc8227fdf70898b94a06b3f4d68b7070707e87 Mon Sep 17 00:00:00 2001 From: Michess Date: Mon, 13 Apr 2026 13:40:21 +0200 Subject: [PATCH] fix: use native stockfish binary via debian image --- Dockerfile | 6 +++--- server/package.json | 1 - server/src/controllers/stockfish.controller.ts | 6 +----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 19f752e..66b710c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM node:lts-alpine3.20 +FROM node:lts-bookworm-slim -# Install git only (stockfish via npm package) -RUN apk update && apk add --no-cache git +# Install git and stockfish (native binary) +RUN apt-get update && apt-get install -y --no-install-recommends git stockfish && rm -rf /var/lib/apt/lists/* ENV PNPM_HOME=/usr/local/bin diff --git a/server/package.json b/server/package.json index 8989a68..a1a1982 100644 --- a/server/package.json +++ b/server/package.json @@ -20,7 +20,6 @@ "nanoid": "^5.0.7", "pg": "^8.12.0", "socket.io": "^4.7.5", - "stockfish": "^16.0.0", "xss": "^1.0.15" }, "devDependencies": { diff --git a/server/src/controllers/stockfish.controller.ts b/server/src/controllers/stockfish.controller.ts index 7b7f777..622ea58 100644 --- a/server/src/controllers/stockfish.controller.ts +++ b/server/src/controllers/stockfish.controller.ts @@ -1,5 +1,4 @@ import { spawn, ChildProcess } from "child_process"; -import { createRequire } from "module"; export interface StockfishLevel { level: number; @@ -31,10 +30,7 @@ export class StockfishEngine { private async init() { try { - const require = createRequire(import.meta.url); - const sfPath: string = require.resolve("stockfish"); - - this.process = spawn(process.execPath, [sfPath], { + this.process = spawn("stockfish", [], { stdio: ["pipe", "pipe", "pipe"], });