From 883e5fdf0bbb704fe4fe1dd78a7ee47eddb9cada Mon Sep 17 00:00:00 2001
From: Colin Okay <colin@cicadas.surf>
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:
+
+    <VirtualHost *:80>
+      ServerName vampire.yourhost.moo
+      Redirect / "https://vampire.yourhost.moo/"
+    </VirtualHost>
+    
+    <VirtualHost _default_:443>
+      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/
+    
+    </VirtualHost>
+    
+
++------------------------------------------------------+
+|                   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