Welcome page
Rustus is a TUS protocol implementation that helps you handle file uploads.
This project has many features that make it easy to integrate with your application.
Installation
You can install rustus in four different ways.
From source
To build it from source rust must be installed. Preferred version is 1.59.0.
git clone https://github.com/s3rius/rustus.git
cd rustus
cargo install --path . --features=all,metrics
Also, you can speedup build by disabling some features.
Available features:
amqp_notifier- addsAMQPprotocol support for notifying about upload status;db_info_storage- adds support for storing information about upload in different databases (Postgres,MySQL,SQLite);http_notifier- adds support for notifying about upload status viaHTTPprotocol;redis_info_storage- adds support for storing information about upload inRedisdatabase;hashers- adds support for checksum verification;metrics- adds rustus specific metrics to prometheus endpoint;all- enables all rustus features exceptmetrics.
All precompiled binaries have all features enabled.
With cargo
If you have cargo installed, it might be easier to install it directly from crates.io.
Binaries
All precompiled binaries available on Github releases page. You can download binaries from here, unpack it and run.
Make sure you download right version for your CPU architecture and OS.
Using Docker
One of the most simple ways to run rustus is Docker.
Rustus has two containers for each version. 1. Debian based image 2. Alpine based image
Alpine based images are more lightweight than Debian
To run Rustus with Docker you just need to run this command
More information about Rustus docker images you can find on Docker hub page.