RustinxRustinx

Getting Started

This guide walks you through serving your first static site with Rustinx.

Prerequisites

You need one of these:

  • Docker (recommended for production)
  • Rust toolchain (for building from source)

Setup

Put your HTML, CSS, and JavaScript files in a folder:

index.html
style.css
app.js

Then choose your method:

The fastest way to start. No Rust installation needed.

Run Rustinx

docker run -p 9090:9090 -v ./dist:/static:ro ghcr.io/shadowarcanist/rustinx:v1.0

Open http://localhost:9090 in your browser.

Add a config file (optional)

For more control, create a rustinx.toml:

rustinx.toml
[server]
listen = "0.0.0.0:9090"

[[vhost]]
hostnames = ["_"]
root = "/static"
spa = true

Mount it into the container:

docker run -p 9090:9090 \
  -v ./rustinx.toml:/etc/rustinx/rustinx.toml:ro \
  -v ./dist:/static:ro \
  ghcr.io/shadowarcanist/rustinx:v1.0

Clone and build

git clone https://github.com/shadowarcanist/rustinx.git
cd rustinx/app
cargo build --release

The binary is at app/target/release/rustinx (under 800KB).

Create a config file

rustinx.toml
[[vhost]]
hostnames = ["_"]
root = "./public"

Run it

./target/release/rustinx --config rustinx.toml

What You Get by Default

Without any configuration, Rustinx applies these secure defaults:

SettingDefault
Port9090
Allowed methodsGET and HEAD only
Dot-path blockingEnabled (blocks .env, .git, etc.)
ETag cachingEnabled
SPA modeDisabled
Security headersAll enabled (CSP, HSTS, XFO, etc.)

Next Steps

On this page