25 lines
1,018 B
Docker
25 lines
1,018 B
Docker
# Pin to specific SBCL version (checked 2025-10-15: clfoundation/sbcl:latest is stable)
|
|
FROM clfoundation/sbcl:latest
|
|
|
|
# Install Quicklisp (Common Lisp package manager)
|
|
RUN curl -O https://beta.quicklisp.org/quicklisp.lisp && \
|
|
sbcl --load quicklisp.lisp --eval '(quicklisp-quickstart:install)' --quit && \
|
|
echo '(load "~/quicklisp/setup.lisp")' >> ~/.sbclrc
|
|
|
|
# Install Dexador HTTP client and JSON parser
|
|
RUN sbcl --eval '(ql:quickload :dexador)' \
|
|
--eval '(ql:quickload :jonathan)' \
|
|
--quit
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy application files
|
|
COPY hermes-nonstreaming.lisp .
|
|
COPY hermes-streaming.lisp .
|
|
COPY qwen-nonstreaming.lisp .
|
|
COPY qwen-streaming.lisp .
|
|
COPY tts.lisp .
|
|
|
|
# Default command shows available examples
|
|
CMD ["sbcl", "--eval", "(format t \"Available examples:~% sbcl --script hermes-nonstreaming.lisp~% sbcl --script hermes-streaming.lisp~% sbcl --script qwen-nonstreaming.lisp~% sbcl --script qwen-streaming.lisp~% sbcl --script tts.lisp~%\")", "--quit"]
|