43 lines
1.1 KiB
Docker
43 lines
1.1 KiB
Docker
FROM debian:bookworm-slim AS builder
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y curl openssl ca-certificates \
|
|
git make sbcl rlwrap && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy asteroid source to container workdir
|
|
COPY . .
|
|
|
|
# Download Quicklisp installer
|
|
RUN curl -O https://beta.quicklisp.org/quicklisp.lisp
|
|
|
|
# Installs quicklisp and radiance
|
|
RUN sbcl --eval "(load \"quicklisp.lisp\")" \
|
|
--eval "(quicklisp-quickstart:install)" \
|
|
--eval "(ql-dist:install-dist \"http://dist.shirakumo.org/shirakumo.txt\" :prompt nil)" \
|
|
--eval "(ql:quickload :radiance)"
|
|
|
|
# Makes the project workdir known as a quicklisp project
|
|
RUN mkdir -p $HOME/.config/common-lisp/source-registry.conf.d
|
|
RUN echo '(:tree "/app/")' >> "$HOME/.config/common-lisp/source-registry.conf.d/projects.conf"
|
|
|
|
# Builds Asteroid binary
|
|
RUN make
|
|
|
|
# Links binary to path
|
|
ENV PATH="$PATH:/app"
|
|
|
|
# Adds radiance system configuration file
|
|
COPY docker/radiance-default.conf.lisp $HOME/.config/radiance/default/radiance-core/radiance-core.conf.lisp
|
|
|
|
# Application
|
|
EXPOSE 8080
|
|
# Slynk server
|
|
EXPOSE 4009
|
|
|
|
ENV ASTEROID_STREAM_URL=http://localhost:8000
|
|
|
|
CMD [ "asteroid" ]
|