#web-server #static #server #web #http

bin+lib vacuna

Simple web server for static files

1 unstable release

0.2.0 Jan 5, 2024

#1086 in HTTP server

Apache-2.0

38KB
779 lines

What is ?

Vacuna is a simple http[s] server for static files written in rust using existing framework/libs it uses actix-web for the server part with rustls for the ssl support, the configuration is handled with knuffel.

Getting started

Auto Configuration

A simple automatic configuration with acme-redirect managed certificates:

server {
   listen "[::]:443" {
        ssl {
            acme-redirect "/var/lib/acme-redirect/live/"
        }
   } 
   auto "/var/www/"
}

This configuration will list all the folders in the /var/www and using the name of the folder as domain name and expose them as sites, will also look for the certificates in the /var/lib/acme-redirect/live/ sub folders and use them for ssl connections

Whole configuration

For the whole configuration check the whole-conf.kdl in the root of the repository

Install

Deb

The repo already support to build a deb package, that included the whole configuration and a systemd unit, to build it just run

cargo deb

Why ?

I just wanted a simple and modern static file server without the complexity of existing http servers ( that handle a big set of operation/modules/plugins/cgis/scripts ....) this server is born with the target of serving static sites, only static sites!!

What is the complexity?

This project aim to keep the complexity really low, try to use most of existing libs, and contributing back to existing libs when needed and make sense.

Dependencies

~30–43MB
~867K SLoC