Install
it's pretty simple to install. I have an automated shell script you can run, or a .deb file to download. There's also the fake Windows version. I created that because it's a funny idea. If you download it, your PC will block you running it, but I assure you it's not dangerous. All it will do is tell you you're wrong for using a Windows server and to use Debian instead. The shell script is only the latest version, while I have releases for every version as the .deb file. To see the specific version downloads click here or run in your linux terminal curl -sSL https://repo.sizablesplash.com/spyderfly/latest.sh | sudo bash The install creates the directories /etc/spyderfly and the directories in it and /var/spyerfly for logs. The directories created in /etc/spyderfly are as followed: /etc/spyderfly/enabled-sites, /etc/spyderfly/enabled-sites, /etc/spyderfly/index, /etc/spyderfly/config, and /etc/spyderfly/disabled-sites.
Commands
When you install SpyderFly, it installs the binary in /usr/bin/ as the file spyderfly_service. The purpose of this file is to run the web server. Actually, I might move that to /etc/spyderfly/service or something. Someone remind me. Anyway, that is for the service. A seperate binary will be installed to /usr/bin/ simply called spyderfly. You just have to run sudo spyderfly in your terminal. There are sub-commands as I call it that you can do. To test your configuration, run sudo spyderfly -t just like NGINX. To manage sites, run sudo spyderfly --manage-sites To run the auto config, run sudo spyderfly --auto-config To run certbot, run sudo certbot --spyderfly -d example.domain.com
Manage Sites
The manage sites command allows you to pick between a set of options to automatically manage your SpyderFly. Running sudo spyderfly --manage-sites will bring up a prompt asking you what you want to do. Disable a site, list enabled sites, list disabled sites, disable a site, enable a site, delete a site, etc. Whatever you choose, it'll have you name your site. You don't need to input the .conf part at the end, just put the name. If it's named "example.conf" put "example". I'll probably add a filter anyways so if you do it'll go through properly.
Certbot
Certbot! A part of the SpyderFly install is the SpyderFly version of Certbot. Thanks to open source software, I was able to make a version of it for SpyderFly. Simple: run sudo certbot --spyderfly -d example.domain.com and it'll work just like NGINX or Apache2.
Creating Config
You create your config in the enabled sites directory. The purpose of the disabled sites is that I didn't find this out until yesterday, but NGINX has the directories so you can disable one if needed. I didn't know that so I will try and do the same. Let's create a basic http port number site. Create a config file in /etc/spyderfly/enabled-sites/NAME.conf and write simply three lines:
listen 8046;
server_name localhost;
root /etc/spyderfly/index/;
This is currently how the config works. Change your root as needed and the port number too. Restart SpyderFly and it should work. This is the only thing guarenteed with SpyderFly right now and I can actually make docs on when it comes to the config. I guarentee the needed config will become way more complex as updates and new features come out. My goal with version 1.0 is the basics: HTTPS and port numbers. When I can get those to work, that's when version 1.0 will be released. Or version 1.0 will be released when this site runs SpyderFly. Then I will work on proxy configurations. My goal is to try and make configs that will work just like NGINX. I might even see if I can make it take the same config as NGINX. Proxy configs I'll make sure I can do Jellyfin and Nextcloud LEMP stacks. Although LEMP stacks isn't proxy, but it's a complicated one that requires a LOT. I hope to deliver SpyderFly to you soon. :)
Other Info
The upstream handler runs by default on port 2026. To rebind it, edit the listen config in /etc/spyderfly/config/spyderfly.conf