# Small, glibc-based; great compat
FROM debian:trixie-slim

ARG VERSION=dev
ARG VCS_REF=unknown
ARG BUILD_DATE=unknown

LABEL org.opencontainers.image.title="base" \
      org.opencontainers.image.version="${VERSION}" \
      org.opencontainers.image.revision="${VCS_REF}" \
      org.opencontainers.image.created="${BUILD_DATE}" \
      org.opencontainers.image.source="https://git.abutili.net/images/base"

# Set standard environment variables
ENV LANG=C.UTF-8 \
    LC_ALL=C.UTF-8 \
    TZ=UTC

# Install essential base system dependencies
# tini: Proper init process for containers
# tzdata: Timezone data for applications
# jq: JSON processor for scripts/healthchecks
RUN apt-get update && apt-get install -y --no-install-recommends \
      ca-certificates \
      curl \
      bash \
      tini \
      tzdata \
      jq \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Non-root user (safer)
RUN useradd -ms /bin/bash runner
USER runner
WORKDIR /workspace

# Default shell
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]

# Use tini as the entrypoint to handle signal forwarding and zombie reaping
ENTRYPOINT ["/usr/bin/tini", "--"]
