FROM debian:latest ENV SBCL_VERSION 1.3.20 ENV DOWNLOAD_URL http://prdownloads.sourceforge.net/sbcl ENV DOWNLOAD_PACKAGE sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 ENV SHA256_SUM cda8d3f36eaaa52e0bda8042cf2e49a2ca1b71e5076eb78104de012cff91c95d RUN apt-get update &&\ apt-get install -y \ bzip2 \ gcc \ git \ curl \ make \ libev-dev &&\ cd /tmp &&\ curl -OL $DOWNLOAD_URL/$DOWNLOAD_PACKAGE &&\ echo "$SHA256_SUM $DOWNLOAD_PACKAGE" | sha256sum -c &&\ tar xvf ${DOWNLOAD_PACKAGE} &&\ cd sbcl-${SBCL_VERSION}-x86-64-linux &&\ INSTALL_ROOT=/usr sh install.sh &&\ mkdir -p /usr/local/lib &&\ ln -s /usr/lib/sbcl /usr/local/lib/sbcl &&\ rm -rf /tmp/sbcl* &&\ rm -rf /var/lib/apt/lists/* && \ cd ~ &&\ echo "Finished installing SBCL. Now it's time for Quicklisp." &&\ curl -o /tmp/quicklisp.lisp https://beta.quicklisp.org/quicklisp.lisp &&\ echo | sbcl --load /tmp/quicklisp.lisp --eval '(quicklisp-quickstart:install :path "/opt/quicklisp")' --eval '(quicklisp:add-to-init-file)' --eval '(sb-ext:quit)' &&\ mkdir -p /opt/quicklisp/local-projects/travels WORKDIR /opt/quicklisp/local-projects/ RUN git clone https://github.com/fukamachi/woo.git &&\ git clone https://github.com/fukamachi/lack.git &&\ git clone https://github.com/fukamachi/clack.git &&\ git clone https://github.com/fukamachi/myway.git &&\ git clone https://github.com/fukamachi/quri.git COPY travels.asd *.lisp travels/ RUN sbcl --eval '(ql:quickload :travels)' --eval '(sb-ext:quit)' EXPOSE 80 CMD ["sbcl", "--eval", "(ql:quickload :travels)", "--eval", "(travels:main :port 80 :data \"/tmp/data/data.zip\")"]