Yu-Gi-Oh! Deck Building and Card Inventory Management web interface written in Common Lisp, utilizing HTMX.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

62 Zeilen
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)"]