+--------------------------------------------+ | YOUTUBE-DL | +--------------------------------------------+ vampire relies on youtube-dl to fetch media and meta information. Ensure that it is propery linstalled. e.g. pip3 install youtube-dl +----------------------------------------------+ | 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.