Vacuna

Vacuna is a simple HTTP server for static websites, focusing on simplifying self-hosting of sites that do not need server side logic, optimizing around this use cases, providing features like automatic detection of websites from defined folders, files pre-compression and automatic support of SSL certificates through acme.

Example minimal configuration

server {
    listen "0.0.0.0:80"
    listen "0.0.0.0:443" {
        ssl {
            acme {
                contacts "test@example.com"
                store "/var/lib/certs/"
            } 
         }
     }
     // auto scan the configured folder and consider each sub-folder as a website, it will use
     // the name of the folder as the name of the website, 
     // if ssl acme is active will automatically create also SSL certs
     auto "/var/www/"
} 

Installation

Deb

Download

Download the deb from Releases

sudo dpkg --install vacuna[version].deb

Edit configuration

vi /etc/vacuna/conf.kdl

Build

Clone repo:

git clone https://codeberg.org/tglman/vacuna.git

Build deb with cargo deb :

cargo deb 

install it with:

sudo dpkg --install target/debian/vacuna[version].deb

edit configuration

vi /etc/vacuna/conf.kdl

Binary Cargo + Crates.io

cargo install vacuna --locked
# Make your-config.kdl from https://codeberg.org/tglman/vacuna/raw/branch/master/whole-conf.kdl
~/.cargo/bin/vacuna your-config.kdl

Binary Source

git clone https://codeberg.org/tglman/vacuna.git
cd vacuna
cargo build --release 
# Make your-config.kdl from whole-conf.kdl
target/release/vacuna your-config.kdl

Used By

tglman.com
vacuna.dev