From 883e5fdf0bbb704fe4fe1dd78a7ee47eddb9cada Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Thu, 3 Nov 2022 07:34:15 -0500 Subject: Add: readme and install --- INSTALL | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 INSTALL (limited to 'INSTALL') diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..0cce93d --- /dev/null +++ b/INSTALL @@ -0,0 +1,94 @@ + ++----------------------------------------------+ +| BUILDING | ++----------------------------------------------+ + +I have only tested vampire using SBCL on Linux. + +First install the dependencies that are not in quicklisp: + + git clone https://cicadas.surf/cgit/colin/derrida.git ~/quicklisp/local-projects/ + git clone https://cicadas.surf/cgit/colin/vampire.git ~/quicklisp/local-projects/ + +Then cd into the vampire repo's directory and run the build script. + + cd ~/quicklisp/local-projects/vampire + sbcl --load build.lisp + +If it worked, you should be able to find the file bin/vampire. + ++------------------------------------------------------+ +| CONFIGURATION FILE | ++------------------------------------------------------+ + +The configuration file is called config.lisp. Here is an example. + + (:datastore-directory "/home/vampire/store/" + :static-directory "/home/vampire/static/" + :swank-port 5011 + :port 8081 + :downloader-threads 8) + + +The :datastore-directory and :static-directory fields are REQUIRED and +must be writable by the vampire process. In particular, a subdirectory +of the static-directory, called media, is where media files will be +stored. + +Hence, if you want to store media elsewhere, you can mount or symlink +at the ./media subdirectory to the real location. + +The :swank-port field is optional. It is the localhost port where you +can connect via SLIME to debug the live application. + ++------------------------------------------------------+ +| REVERSE PROXY | ++------------------------------------------------------+ + +I am using apache to set up a reverse proxy. If I'm running vampire on +host at 10.0.0.6, and serving over HTTPS using the domain name +vampire.yourhost.moo, then here's how I'd configure the proxy: + + + ServerName vampire.yourhost.moo + Redirect / "https://vampire.yourhost.moo/" + + + + ServerName vampire.yourhost.moo + SSLEngine on + SSLCertificateFile "/etc/letsencrypt/live/vampire.yourhost.moo/fullchain.pem" + SSLCertificateKeyFile "/etc/letsencrypt/live/vampire.yourhost.moo/privkey.pem" + + ProxyPass /clog ws://10.0.0.6:8081/clog + ProxyPass / http://10.0.0.6:8081/ + ProxyPassReverse / http://10.0.0.6:8081/ + + + + ++------------------------------------------------------+ +| SYSTEM SERVICE | ++------------------------------------------------------+ + +Use a systemd service to run vampire, ensuring that it restarts on +reboot. + + + [Unit] + Description=Vampire Service + + [Service] + Type=simple + ExecStart=/home/vampire/vampire/config --config /home/vampire/config.lisp + Restart=always + User=vampire + Group=vampire + + + [Install] + WantedBy=multi-user.target + +Put that into /etc/systemd/system/ + +and start it like any other systemd service. -- cgit v1.2.3