diff --git a/.gitignore b/.gitignore new file mode 100644 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docker/config.lisp diff --git a/docker/.sbclrc b/docker/.sbclrc new file mode 100644 --- /dev/null +++ b/docker/.sbclrc @@ -0,0 +1,12 @@ +(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" + (user-homedir-pathname)))) + (when (probe-file quicklisp-init) + (load quicklisp-init))) + +;; Make sure we can provide path to forgerie code... +(let ((forgerie-path (uiop:getenv "FORGERIE_PATH"))) + (when (and forgerie-path (probe-file forgerie-path)) + (push (pathname forgerie-path) asdf:*central-registry*))) + +;; so quicklisp is able to run the forgerie code and execute the script +(ql:quickload :forgerie) diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,5 @@ +FROM debian:11 +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && apt-get upgrade -y && \ + apt-get install -y \ + cl-quicklisp diff --git a/docker/README.md b/docker/README.md new file mode 100644 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,18 @@ +# Build + +``` +$ name=forgerie +$ docker build -t $name . +``` + +# Run script(s) + +``` +$ docker run -it $name \ + -v /path/to/clone/forgerie:/opt/forgerie \ + $script +``` + +for script in {build-config-tmpl, run, postmortem} + +