# syntax=docker/dockerfile:1
FROM debian:12-slim AS syslibs
RUN apt-get update && apt-get install -y --no-install-recommends \
    libatomic1 libuuid1 libfontconfig1 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/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"]
