/ Dockerfile.asteroid
Dockerfile.asteroid
1 FROM debian:bookworm-slim AS builder 2 3 RUN apt-get update && \ 4 apt-get install -y curl openssl ca-certificates \ 5 git make sbcl rlwrap && \ 6 rm -rf /var/lib/apt/lists/* 7 8 WORKDIR /app 9 10 # Copy asteroid source to container workdir 11 COPY . . 12 13 # Download Quicklisp installer 14 RUN curl -O https://beta.quicklisp.org/quicklisp.lisp 15 16 # Installs quicklisp and radiance 17 RUN sbcl --eval "(load \"quicklisp.lisp\")" \ 18 --eval "(quicklisp-quickstart:install)" \ 19 --eval "(ql-dist:install-dist \"http://dist.shirakumo.org/shirakumo.txt\" :prompt nil)" \ 20 --eval "(ql:quickload :radiance)" 21 22 # Makes the project workdir known as a quicklisp project 23 RUN mkdir -p $HOME/.config/common-lisp/source-registry.conf.d 24 RUN echo '(:tree "/app/")' >> "$HOME/.config/common-lisp/source-registry.conf.d/projects.conf" 25 26 # Builds Asteroid binary 27 RUN make 28 29 # Links binary to path 30 ENV PATH="$PATH:/app" 31 32 # Adds radiance system configuration file 33 COPY docker/radiance-default.conf.lisp $HOME/.config/radiance/default/radiance-core/radiance-core.conf.lisp 34 35 # Application 36 EXPOSE 8080 37 # Slynk server 38 EXPOSE 4009 39 40 ENV ASTEROID_STREAM_URL=http://localhost:8000 41 42 CMD [ "asteroid" ]