# syntax=docker/dockerfile:1
FROM gcr.io/distroless/cc-debian12

WORKDIR /app

# 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)
COPY dashback/node_modules ./node_modules

# Set production defaults: port 4202 only, localhost only
ENV NODE_ENV=production \
    HOST=127.0.0.1 \
    PORT=4202 \
    HTTPS_PORT=0 \
    SQLITE_PATH=/app/data/dash.db \
    STORAGE_DIR=/app/data/storage \
    BACKUP_DIR=/app/data/backups

EXPOSE 4202

CMD ["./dist/dashback"]
