LISP ?= sbcl help: @echo 'Usage: make [command]' @echo @echo 'Commands to run on server:' @echo ' setup Install Debian packages and Quicklisp for website.' @echo @echo ' service Set-up and start systemd service.' @echo @echo ' http Add ritherdon-archive to nginx (http only).' @echo @echo ' run Run ritherdon-archive (port 5000).' @echo @echo 'Default target:' @echo ' help Show this help message.' # Commands for Server # ============================================================================== install: apt update apt -y install certbot sbcl rlwrap nginx libev4 curl https://beta.quicklisp.org/quicklisp.lisp sbcl --load "/usr/share/common-lisp/source/quicklisp/quicklisp.lisp" sbcl --eval (quicklisp-quickstart:install) \ --eval (ql:add-to-init-file) \ --quit @echo 'Install complete.' quicklisp-add: @echo 'Adding project to quicklisp...' ln -s ~/ritherdon-archive ~/quicklisp/local-projects/ @echo 'Added to quicklisp.' service: @echo 'Setting up systemd service... NOT IMPLEMENTED' sytemctl enable "conf/ritherdon-archive.service" systemctl daemon-reload systemctl start ritherdon-archive @echo 'systemd set-up and running.' http: @echo 'Adding ritherdon-archive to nginx... NOT IMPLEMENTED' systemctl restart nginx @echo 'ritherdon-archive added to nginx (HTTP only).' run-prod: rlwrap $(LISP) --eval '(ql:quickload :ritherdon-archive)' \ --eval '(setf (osicat:environment-variable "APP_ENV") "production")' \ --eval '(ritherdon-archive:main :port 5000)' run-dev: rlwrap $(LISP) --eval '(ql:quickload :ritherdon-archive)' \ --eval '(setf (osicat:environment-variable "APP_ENV") "developement")' \ --eval '(ritherdon-archive:main :port 5000)'