FROM debian:bookworm-slim

ARG UID=1000
ARG GID=1000

ENV DEBIAN_FRONTEND=noninteractive

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

RUN apt-get update && \
  apt-get install -y --no-install-recommends \
  curl \
  ca-certificates \
  jq \
  libxml2-utils \
  sudo \
  tini \
  unzip \
  netcat-openbsd && \
  apt-get autoremove && apt-get clean && \
  rm -rf /var/lib/apt/lists/*

RUN groupadd -g ${GID} minecraft && \
  useradd --create-home -u ${UID} -g ${GID} minecraft && \
  echo 'minecraft ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
  mkdir -p /data && \
  chown -R ${UID}:${GID} /data

RUN su -c "curl -sL https://github.com/Jabba-Team/jabba/raw/main/install.sh | bash && . ~/.jabba/jabba.sh" minecraft

COPY ./scripts/ /scripts/
RUN chmod +x /scripts/init

USER minecraft

HEALTHCHECK --start-period=2m --interval=30s --timeout=10s --retries=3 \
  CMD bash -c 'if [ "${MC_LOADER}" = "bedrock" ]; then nc -zu 127.0.0.1 19132; else nc -z 127.0.0.1 25565; fi'

ENTRYPOINT ["tini", "--", "/scripts/init"]

