FROM codeberg.org/shirakumo/radiance-bootstrap:latest AS radiance-bootstrap

FROM debian:stable-slim AS sqlite3-pcre
RUN apt-get update && apt-get install -y --no-install-recommends gcc libsqlite3-dev libpcre2-dev git ca-certificates make pkg-config patchelf \
    && git clone https://github.com/nilason/sqlite3-pcre2 /root/sqlite3-pcre \
    && make -C /root/sqlite3-pcre

FROM debian:stable-slim
ARG user=radiance
RUN apt-get update && apt-get install -y --no-install-recommends sbcl sqlite3 xz-utils libcap2-bin curl openssl ca-certificates libpcre2-dev \
    && rm -rf /var/lib/apt/lists/* \
    && setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/sbcl \
    && groupadd -g 1000 "$user" \
    && useradd -g 1000 -M -u 1000 --no-create-home -d /radiance "$user"

COPY --from=sqlite3-pcre /root/sqlite3-pcre/pcre2.so /usr/lib/sqlite3-pcre.so
COPY --from=radiance-bootstrap /radiance /radiance
COPY . /radiance/quicklisp/local-projects/radiance
COPY .woodpecker/build.sh /bin/build

RUN chown -R "$user:$user" /radiance \
    && rm -rf /radiance/cache/asdf

USER $user
RUN sbcl --script /radiance/start.lisp update
EXPOSE 80
VOLUME ["/radiance/data/", "/radiance/config/", "/radiance/override/"]
ENTRYPOINT /bin/build
