Skip to content

AntonyLeons/ward-rs

Repository files navigation

GitHub Workflow Status Docker Pulls

Logo


About

Ward is a simple and minimalistic server monitoring tool. Ward supports adaptive design system. Also, it supports dark theme. It shows only principal information and can be used, if you want to see nice looking dashboard instead looking on bunch of numbers and graphs. Ward works nice on all popular operating systems, because it uses sysinfo.

Why ward-rs

ward-rs is the newer, faster, lighter Ward.

  • 🧠 Memory: ~5MB–8MB RAM vs ~130MB–189MB (≈95% less).
  • 📦 Size: ~6MB–8MB binary vs ~45MB ward.jar (smaller Docker image too).
  • Startup: <10ms startup vs ~1.5s–2.5s (100x+ faster).
  • 🧊 CPU idle: effectively 0% idle CPU (no GC/JVM overhead).

Quick start

Docker

  • docker run --restart unless-stopped -it -d --name ward-rs -p 4000:4000 -e WARD_PORT=4000 -e WARD_THEME=dark --cap-add SYS_PTRACE -v /:/host:ro ward-rs
  • Go to localhost:4000 in web browser

Also see the example docker-compose.yml file in the root directory.

Executable

Download the latest release from here

./ward

You can override the listening port via CLI:

./ward --port 4000

macOS note

If you downloaded a release binary (especially from a .zip), it may not have execute permissions. Fix with:

chmod +x ./ward-macos-arm64
./ward-macos-arm64 --port 4000

If macOS blocks the binary due to quarantine/Gatekeeper, remove the quarantine attribute:

xattr -d com.apple.quarantine ./ward-macos-arm64

All features tested on: Windows Linux

Preview Image

Preview Image


Installation

Build from source

• Clone the project
• Run `cargo build --release`
• The executable will be located in `target/release/ward`

Run executable

1. Build from source as described above, or download a pre-compiled binary
2. Execute `./ward` on Windows or Linux (may require administrative rights)
3. Enter localhost:4000 and set up application

Build for Docker

1. Clone the project
2. docker build --tag ward-rs .
3. docker run --restart unless-stopped -it -d --name ward-rs -p 4000:4000 -e WARD_PORT=4000 -e WARD_THEME=dark --cap-add SYS_PTRACE -v /:/host:ro ward-rs
4. Go to localhost:4000 in web browser

Config

If you want to change Ward's configuration, you can edit setup.ini. When using Docker, use the environment variables WARD_NAME,WARD_THEME, WARD_PORT to automatically regenerate this file at startup. Using any environment variable listed will enable the defaults below and immediately start Ward without the GUI setup.

Setting Env var Description Default
serverName WARD_NAME Name shown in the interface. Ward
port WARD_PORT Port to listen on. 4000
theme WARD_THEME Either light or dark. light
enableFog WARD_FOG Either true or false. true
backgroundColor WARD_BACKGROUND HexColor for background when fog is disabled default

Environment variables take priority and will regenerate this file with your variables. If no environment variables are set, setup.ini is generated once you navigate to Ward's webpage and complete the initial setup. You can also make this file yourself before starting Ward, and place it in the same directory.

For example:

[setup]
serverName = my-server
theme = dark
port = 8200
enableFog = true
backgroundColor = #303030

Credits

Original Creator: https://github.com/Rudolf-Barbu/Ward Control panel icons created by Freepik - Flaticon Processor icons created by Those Icons - Flaticon Ram icons created by srip - Flaticon Hard disk icons created by Freepik - Flaticon

About

A fast, lightweight server dashboard rewritten in Rust

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors