FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive
ENV APP_DIR=/opt/containers/netbox-reporter
ENV DATA_DIR=${APP_DIR}/data

# Minimal deps
RUN apt-get update && apt-get install -y --no-install-recommends \
      bash curl jq ca-certificates tini \
 && rm -rf /var/lib/apt/lists/*

# App payload (immutable inside image)
RUN mkdir -p ${APP_DIR}/app/bin
COPY files/netbox-reporter.sh ${APP_DIR}/app/bin/netbox-reporter.sh
COPY files/entrypoint.sh /usr/local/bin/netbox-reporter-entrypoint
RUN chmod +x /usr/local/bin/netbox-reporter-entrypoint \
    && chmod +x ${APP_DIR}/app/bin/netbox-reporter.sh

WORKDIR ${APP_DIR}/app

# Use tini as PID1; entrypoint validates env and execs the main script
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/netbox-reporter-entrypoint"]
CMD ["/opt/containers/netbox-reporter/app/bin/netbox-reporter.sh"]
