# 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/ # Set production defaults: port 4208 ENV NODE_ENV=production \ HOST=0.0.0.0 \ PORT=4208 \ HTTPS_PORT=0 \ SQLITE_PATH=/app/data/dash.db \ STORAGE_DIR=/app/data/storage \ BACKUP_DIR=/app/data/backups CMD ["./dist/dashback"]