Innocenty Enikeew il y a 8 ans
Parent
commit
6abfebce01
3 fichiers modifiés avec 24 ajouts et 7 suppressions
  1. 13 0
      Dockerfile
  2. 2 1
      package.lisp
  3. 9 6
      travels.lisp

+ 13 - 0
Dockerfile

@@ -0,0 +1,13 @@
+FROM ubuntu
+RUN apt-get update && \
+    apt-get install -y gcc make wget sbcl libev-dev && \
+    mkdir -p /opt &&\
+    wget -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)'
+
+RUN mkdir -p /opt/quicklisp/local-projects/travels
+ADD travels.asd *.lisp /opt/quicklisp/local-projects/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")'

+ 2 - 1
package.lisp

@@ -1,4 +1,5 @@
 (defpackage #:travels
 (defpackage #:travels
-  (:use :cl))
+  (:use :cl)
+  (:export :main))
 
 
 (in-package #:travels)
 (in-package #:travels)

+ 9 - 6
travels.lisp

@@ -220,10 +220,13 @@
 (myway:connect *mapper* "/locations/:id/avg" 'location-avg-mark)
 (myway:connect *mapper* "/locations/:id/avg" 'location-avg-mark)
 (myway:connect *mapper* "*" (lambda (p) (declare (ignore p)) '(404 nil nil)))
 (myway:connect *mapper* "*" (lambda (p) (declare (ignore p)) '(404 nil nil)))
 
 
-(defun main ()
-  (setf *storage* (load-data "data.zip"))
+(defun main (&key (port 5000) (data "data.zip") (address "0.0.0.0"))
+  (setf *storage* (load-data data))
+  (format t "Loaded ~A~%" data)
   (clack:clackup (myway:to-app *mapper*)
   (clack:clackup (myway:to-app *mapper*)
-   :server :woo
-   :debug t
-   :use-default-middlewares nil
-   :use-thread nil))
+                 :server :woo
+                 :address address
+                 :port port
+                 :debug nil
+                 :use-default-middlewares nil
+                 :use-thread nil))