From b6f68f04a45e418acf98e85bae68410ca937d90b Mon Sep 17 00:00:00 2001 From: seb Date: Mon, 26 Oct 2026 22:21:53 +0000 Subject: [PATCH] u --- Dockerfile | 22 +++++++++++++++++++--- docker-compose.yml | 9 ++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1cea961..1481381 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,33 @@ # syntax=docker/dockerfile:1 +FROM debian:12-slim AS syslibs +RUN apt-get update && apt-get install -y --no-install-recommends \ + libatomic1 libuuid1 libfontconfig1 libxml2 libfribidi0 \ + && rm -rf /var/lib/apt/lists/* + FROM gcr.io/distroless/cc-debian12 WORKDIR /app +# Shared dynamic libraries needed by Node.js SEA and native addons (canvas, better-sqlite3) +COPY --from=syslibs /usr/lib/x86_64-linux-gnu/libatomic.so* /usr/lib/x86_64-linux-gnu/ +COPY --from=syslibs /usr/lib/x86_64-linux-gnu/libuuid.so* /usr/lib/x86_64-linux-gnu/ +COPY --from=syslibs /usr/lib/x86_64-linux-gnu/libfontconfig.so* /usr/lib/x86_64-linux-gnu/ +COPY --from=syslibs /usr/lib/x86_64-linux-gnu/libxml2.so* /usr/lib/x86_64-linux-gnu/ +COPY --from=syslibs /usr/lib/x86_64-linux-gnu/libfribidi.so* /usr/lib/x86_64-linux-gnu/ + +# Sibling dependencies for local symlink resolution +COPY dashdbschema /dashdbschema +COPY llmorbiter /llmorbiter + # The standalone SEA binary contains Node.js runtime, src/, package.json, and all app logic COPY dashback/dist/dashback ./dist/dashback -# Only native C++ addons and dependencies needed by the OS dynamic linker (dlopen) +# Native C++ addons and dependencies needed by the OS dynamic linker (dlopen) COPY dashback/node_modules ./node_modules -# Set production defaults: port 4202 only, localhost only +# Set production defaults: port 4202 ENV NODE_ENV=production \ - HOST=127.0.0.1 \ + HOST=0.0.0.0 \ PORT=4202 \ HTTPS_PORT=0 \ SQLITE_PATH=/app/data/dash.db \ diff --git a/docker-compose.yml b/docker-compose.yml index fda5156..5e20bcf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,10 +13,10 @@ services: networks: - dash_net ports: - - "127.0.0.1:4208:4208" + - "127.0.0.1:4202:4202" environment: - HOST=0.0.0.0 - - PORT=4208 + - PORT=4202 - HTTPS_PORT=0 - MSSQL_SERVER=sql_server - SQLITE_PATH=/app/data/dash.db @@ -27,13 +27,8 @@ services: - path: .env required: false volumes: - # Shared repo directory (read-only) - - .:/app:ro # Writable data directory - ./data:/app/data:rw - # Sibling repositories for local symlink resolution - - ../dashdbschema:/dashdbschema:ro - - ../llmorbiter:/llmorbiter:ro restart: unless-stopped networks: