Yu-Gi-Oh! Deck Building and Card Inventory Management web interface written in Common Lisp, utilizing HTMX.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

62 lines
2.0KB

  1. ARG TARGETARCH TARGETPLATFORM TARGETVARIANT
  2. FROM --platform=$TARGETPLATFORM docker.io/$TARGETARCH${TARGETVARIANT}/alpine:3.18.2
  3. RUN addgroup -g 1000 quicklisp && adduser -D -G quicklisp -u 1000 quicklisp
  4. RUN set -eux; \
  5. apk add --no-cache \
  6. cgit \
  7. curl \
  8. gcc \
  9. git \
  10. imagemagick \
  11. libev \
  12. make \
  13. musl-dev \
  14. py3-markdown \
  15. py3-pygments \
  16. python3 \
  17. sbcl \
  18. sqlite \
  19. sqlite-libs \
  20. texlive \
  21. texlive-xetex \
  22. texmf-dist-latexextra \
  23. zxing && \
  24. rm -rf /var/cache/apk/*
  25. WORKDIR /home/quicklisp/
  26. USER quicklisp
  27. RUN curl -O https://beta.quicklisp.org/quicklisp.lisp
  28. RUN sbcl --noinform --no-userinit --no-sysinit --non-interactive \
  29. --load quicklisp.lisp --eval "(quicklisp-quickstart:install)" \
  30. --eval "(ql-util:without-prompting (ql:add-to-init-file))"
  31. RUN sbcl --non-interactive \
  32. --eval "(ql:quickload '(:slynk :slynk/arglists :slynk/fancy-inspector :slynk/indentation :slynk/mrepl :slynk/profiler :slynk/trace-dialog))"
  33. RUN sbcl --non-interactive \
  34. --eval "(ql:quickload '(:assoc-utils \
  35. :caveman2 :clack :clack-errors :datafly :djula :envy :hunchentoot :woo \
  36. :can :mito-auth :lack :lack-middleware-clack-errors :lack-middleware-csrf \
  37. :cl-csv :cl-json :cl-org-mode :cl-pass :dbd-sqlite3 :documentation-utils \
  38. :documentation-utils-extensions :lispqr :mito :mito-attachment :ratify \
  39. :sxql :trivial-download :verbose :websocket-driver :cl-markup :hermetic \
  40. :inferior-shell :psychiq :djula-gettext :gettext))"
  41. RUN mkdir -p /home/quicklisp/public
  42. COPY --chown=quicklisp:quicklisp . /home/quicklisp/quicklisp/local-projects/cl-deck-builder2/
  43. RUN sbcl --non-interactive \
  44. --eval "(ql:register-local-projects)" \
  45. --eval "(ql:quickload :cl-deck-builder2)"
  46. EXPOSE 4005 5005
  47. VOLUME ["/home/quicklisp/public/"]
  48. CMD ["sbcl", "--load", "/home/quicklisp/quicklisp/local-projects/cl-deck-builder2/preamble.lisp", "--eval", "(cl-deck-builder2:main)"]