-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
44 lines (36 loc) · 1.47 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# vim: set expandtab
#### BASE image has SBCL, quicklisp, and Radiance
FROM alpine:edge AS base
# SBCL
RUN apk add --no-cache sbcl
RUN ln -s /root/quicklisp/local-projects /apps && \
ln -s /root/.config/radiance/default /db
WORKDIR /root
# Quicklisp
ADD https://beta.quicklisp.org/quicklisp.lisp /tmp
RUN /usr/bin/sbcl --load '/tmp/quicklisp.lisp' \
--eval '(quicklisp-quickstart:install)' \
--eval '(ql-util:without-prompting (ql-dist:install-dist "http://dist.tymoon.eu/shirakumo.txt"))' \
--eval '(ql:quickload :ironclad)' \
--eval '(ql:quickload :verbose)' \
--eval '(ql:quickload :radiance)' \
--eval '(setf (radiance-core:environment) "default")' \
--eval '(radiance:startup)' \
--eval '(sb-ext:quit)' && \
rm /tmp/quicklisp.lisp
COPY files/.sbclrc files/init.lisp ./
COPY files/quickload.sh files/quickload-radiance-app.sh /usr/bin/
EXPOSE 8080
ENV APP="" DOMAIN="127.0.0.1"
CMD sbcl --load init.lisp && sbcl --radiance
#### Development image adds swank and an open port to connect to it
FROM base AS development
RUN quickload.sh swank
EXPOSE 4005
ENV DOMAIN="127.0.0.1"
CMD sbcl --load init.lisp && sbcl --swank --radiance
#### Development image with Radiance's sample projects
FROM development AS samples
RUN quickload-radiance-app.sh plaster filebox keyword-reviews purplish reader
ENV DOMAIN="127.0.0.1"
CMD sbcl --load init.lisp && sbcl --swank --radiance plaster filebox keyword-reviews purplish reader