# based on https://github.com/scheme-containers/monorepo/blob/master/implementations/chicken/5/Dockerfile FROM debian:trixie-slim AS build RUN apt-get update && apt-get -y --no-install-recommends install \ build-essential \ && rm -rf /var/lib/apt/lists/* WORKDIR /build COPY checksum checksum ADD https://code.call-cc.org/releases/5.4.0/chicken-5.4.0.tar.gz chicken.tar.gz RUN sha256sum chicken.tar.gz && sha256sum -c checksum RUN mkdir chicken && tar -C chicken --strip-components 1 -xf chicken.tar.gz WORKDIR /build/chicken RUN make RUN make install FROM debian:trixie-slim AS buildeggs RUN apt-get update && apt-get -y --no-install-recommends install \ gcc libc-dev libpq-dev \ && rm -rf /var/lib/apt/lists/* COPY --from=build /usr/local/ /usr/local/ COPY scss /var/scss COPY html-widgets /var/html-widgets COPY schematra-session /var/schematra-session WORKDIR /var/scss RUN chicken-install WORKDIR /var/html-widgets RUN chicken-install WORKDIR /var/ RUN chicken-install srfi-1 srfi-13 srfi-18 srfi-158 srfi-194 \ sxml-transforms schematra \ uri-common http-client medea intarweb \ sql-null openssl postgresql crypto-tools # Egg is currently broken should be able to move back to regular install after it is fixed WORKDIR /var/schematra-session RUN chicken-install WORKDIR /var RUN mkdir nassella WORKDIR /var/nassella COPY mocks.scm mocks.scm COPY db.scm db.scm COPY nassella.scm nassella.scm COPY run.scm run.scm RUN csc -O3 mocks.scm -J RUN csc -O3 db.scm -J RUN csc -O3 nassella.scm -J RUN csc -O3 -o nassella-run run.scm RUN chmod +x nassella-run FROM debian:trixie-slim RUN apt-get update && apt-get -y --no-install-recommends install \ libpq-dev \ && rm -rf /var/lib/apt/lists/* COPY --from=buildeggs /usr/local/ /usr/local/ WORKDIR /var COPY --from=buildeggs /var/nassella/mocks /var COPY --from=buildeggs /var/nassella/db /var COPY --from=buildeggs /var/nassella/nassella /var COPY --from=buildeggs /var/nassella/nassella-run /var COPY nassella-latest.tar nassella-latest.tar COPY root-key root-key COPY db-init.sql db-init.sql COPY db-clean.sql db-clean.sql # ENTRYPOINT ["ls"] # CMD ["/usr/local/lib/chicken/11"] ENTRYPOINT ["./nassella-run"] CMD ["-:a50"]