Skip to main content

Contributing

Learn how to quickly get started with the Revolt stack and contribute to the project.

System Requirements#

Revolt is quite small, fragmented and easy to run which comes at the cost of a pretty demanding development environment, below are a few recommendations if you want to get started.

  • Modern multi-core CPU for Rust compilation, Ryzens are great for this job.
  • About 30gb of free disk space to ensure everything can be installed and built.
  • At minimum 12gb of free memory, I recommend having at least 16gb of system memory.
    • 500mb to run the Revolt stack
    • 8gb to run Visual Studio Code (includes rust-analyzer's 5gb memory usage)
    • 2gb to run Chromium (conservative estimate)
note

These do not apply if you're just working on the web app, you'll probably be fine with 2 gb of free memory or less.

Consider Alternatives#

If you want to deploy Revolt in production, consider using revolt/self-hosted instead.

Prerequisites#

You need to have these tools installed and ready to go.

  • Node.js (v14+ recommended)
  • npm (bundled with Node.js) or yarn (classic)
  • Rust (use Nightly toolchain)
  • Docker
  • Git
  • Chromium (if you're just developing, Firefox is notoriously slow with web apps)
  • Firefox (if you're testing compatibility)

Setup Environment#

To get started, first install the stack CLI.

# For npm usersnpm i -g revolt-stack
# For yarn usersyarn global add revolt-stack

Now create a new folder where you want to install Revolt into.

mkdir /path/to/revoltcd /path/to/revolt

And initialise everything:

revolt initrevolt envrevolt build

Working with Revolt#

You can now open the Code workspace at the root of the directory you just installed the project to.

To run Revolt, simply open a terminal inside of any project folder or the root directory and run:

revolt run

You can now access the Web App at http://local.revolt.chat:3001;

warning

Certain features may need extra manual configuration.

  • Autumn requires you to manually create minio buckets. This issue is known and is being tracked here.

    To resolve this issue:

    • Open Autumn configuration here and take note of all the tags.x entries, e.g. attachments, avatars.
    • Open minio in your browser: http://localhost:9050
    • Login with the credentials: minioautumn / minioautumn
    • Press the plus button in the bottom left and create new bucket.
    • Create a bucket for each tag.