Skip to content

Building from Source

Follow these instructions to either build SWS project from the source or the HTML documentation.

Building project from source

If you want to build SWS from the source, all you need is a Rust 2021 Edition installed.

So make sure to install Rust 1.66.0 or higher (or nightly) along with the toolchain(s) of your preference.

Then clone the repository and use Cargo to build the project from the source.

git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
cargo build --release

Finally, the release binary should be available at target/release/static-web-server or under your toolchain directory chosen.

Don't use the project's Makefile

Please don't use the project's Makefile since it's only intended for development and some on-demand tasks.

Building documentation from source

All HTML documentation is located in the docs/ project's directory and is built using Material for MkDocs.

It's only necessary to have Docker installed.

Cargo features

Some features are optional when running or building from the source. For example, if you want to run without the default features like http2 just try.

cargo run --no-default-features -- -h

For more optional features take a look a the [features] section of the cargo.toml file adjusting them on demand.

Building documentation

By default the docs will be built in the /tmp/docs directory, to do so follow these steps.

git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
mkdir /tmp/docs
docker run -it --rm \
    -v $PWD/docs:/docs \
    -v /tmp/docs:/tmp/docs squidfunk/mkdocs-material build

Output the docs in a different directory

If you want to output the docs in a different directory then append the --site-dir=/new/dir/path/ argument to the "squidfunk/mkdocs-material" build command and make sure to provide the new directory path.

Development server

If you want to improve the documentation then run the built-in development server via docs/docker-compose.yml.

git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
docker-compose -f docs/docker-compose.yml up

Now the server will be available at localhost:8000


Last update: 2023-03-12