summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorColin Okay <colin@cicadas.surf>2022-11-03 07:34:15 -0500
committerColin Okay <colin@cicadas.surf>2022-11-03 07:34:15 -0500
commit883e5fdf0bbb704fe4fe1dd78a7ee47eddb9cada (patch)
treee8abf72fde59f8c663767367f19bc1c1820da182 /INSTALL
parent0c37f2801bc1c81d1a90f35be975a7d33cd5dbac (diff)
Add: readme and install
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL94
1 files changed, 94 insertions, 0 deletions
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.