|
- ARG TARGETARCH TARGETPLATFORM TARGETVARIANT
- FROM --platform=$TARGETPLATFORM docker.io/$TARGETARCH${TARGETVARIANT}/alpine:3.18.2
-
- RUN addgroup -g 1000 quicklisp && adduser -D -G quicklisp -u 1000 quicklisp
-
- RUN set -eux; \
- apk add --no-cache \
- cgit \
- curl \
- gcc \
- git \
- imagemagick \
- libev \
- make \
- musl-dev \
- py3-markdown \
- py3-pygments \
- python3 \
- sbcl \
- sqlite \
- sqlite-libs \
- texlive \
- texlive-xetex \
- texmf-dist-latexextra \
- zxing && \
- rm -rf /var/cache/apk/*
-
- WORKDIR /home/quicklisp/
-
- USER quicklisp
-
- RUN curl -O https://beta.quicklisp.org/quicklisp.lisp
- RUN sbcl --noinform --no-userinit --no-sysinit --non-interactive \
- --load quicklisp.lisp --eval "(quicklisp-quickstart:install)" \
- --eval "(ql-util:without-prompting (ql:add-to-init-file))"
-
- RUN sbcl --non-interactive \
- --eval "(ql:quickload '(:slynk :slynk/arglists :slynk/fancy-inspector :slynk/indentation :slynk/mrepl :slynk/profiler :slynk/trace-dialog))"
-
- RUN sbcl --non-interactive \
- --eval "(ql:quickload '(:assoc-utils \
- :caveman2 :clack :clack-errors :datafly :djula :envy :hunchentoot :woo \
- :can :mito-auth :lack :lack-middleware-clack-errors :lack-middleware-csrf \
- :cl-csv :cl-json :cl-org-mode :cl-pass :dbd-sqlite3 :documentation-utils \
- :documentation-utils-extensions :lispqr :mito :mito-attachment :ratify \
- :sxql :trivial-download :verbose :websocket-driver :cl-markup :hermetic \
- :inferior-shell :psychiq :djula-gettext :gettext))"
-
- RUN mkdir -p /home/quicklisp/public
-
- COPY --chown=quicklisp:quicklisp . /home/quicklisp/quicklisp/local-projects/cl-deck-builder2/
-
- RUN sbcl --non-interactive \
- --eval "(ql:register-local-projects)" \
- --eval "(ql:quickload :cl-deck-builder2)"
-
- EXPOSE 4005 5005
-
- VOLUME ["/home/quicklisp/public/"]
-
- CMD ["sbcl", "--load", "/home/quicklisp/quicklisp/local-projects/cl-deck-builder2/preamble.lisp", "--eval", "(cl-deck-builder2:main)"]
|