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