Home

Awesome

<p align="center"> <a href="https://rivet.gg"> <picture> <source media="(prefers-color-scheme: dark)" srcset="./.github/media/icon-text-white.svg" alt="Rivet"> <img src="./.github/media/icon-text-black.svg" alt="Rivet"> </picture> </a> </p> <p align="center"> <p align="center"><b>Run and scale realtime applications</b><br/>Rivet Actors have built-in RPC, state, and events — the easiest way to build modern applications.</p> </p> <p align="center"> <a href="/docs/philosophy/LICENSING.md"><img alt="License Apache-2.0" src="https://img.shields.io/github/license/rivet-gg/rivet?style=flat-square"></a> <a href="https://github.com/rivet-gg/rivet/graphs/commit-activity"><img alt="GitHub commit activity" src="https://img.shields.io/github/commit-activity/m/rivet-gg/rivet?style=flat-square"/></a> <img alt="GitHub Discussions" src="https://img.shields.io/github/discussions/rivet-gg/rivet?style=flat-square"> <a href="https://rivet.gg/discord"><img alt="Discord" src="https://img.shields.io/discord/822914074136018994?style=flat-square&label=discord"/></a> </p>

Code snippets

Features

Rivet Actors

Learn more about actors here.

Infrastructure

Use cases

Quickstart

Install CLI

Install the CLI on your machine in order to create & deploy Rivet Actors.

<details> <summary><b>macOS & Linux & WSL</b></summary>
curl -fsSL https://releases.rivet.gg/rivet/latest/install.sh | sh

Next, follow the setup guide.

</details> <details> <summary><b>Windows (cmd)</b></summary>
powershell -Command "iwr https://releases.rivet.gg/rivet/latest/install.ps1 -useb | iex"

Next, follow the setup guide.

</details> <details> <summary><b>Windows (PowerShell)</b></summary>
iwr https://releases.rivet.gg/rivet/latest/install.ps1 -useb | iex

Next, follow the setup guide.

</details> <details> <summary><b>Build from source (<code>cargo build</code>)</b></summary>
git clone https://github.com/rivet-gg/rivet
cargo build --bin rivet

The executable will be available at target/debug/rivet.

Next, follow the setup guide.

</details>

Single-node cluster

Run a single-node Rivet instance for developing your applications locally.

<details> <summary><b><code>docker run</code></b></summary>

Start a Rivet cluster:

docker run --name rivet -v "$(pwd)/rivet-data:/data" -p 8080:8080 -p 9000:9000 -p 7080:7080 -p 7443:7443 --platform linux/amd64 rivetgg/rivet

Next, follow the setup guide.

</details> <details> <summary><b><code>docker run</code> with TCP & UDP</b></summary>

Start a Rivet cluster with TCP & UDP enabled:

docker run --name rivet -v "$(pwd)/rivet-data:/data" -p 8080:8080 -p 9000:9000 -p 7080:7080 -p 7443:7443 -p 7500-7599:7500-7599 -p 7600-7699:7600-7699 --platform linux/amd64 rivetgg/rivet

Next, follow the setup guide.

</details> <details> <summary><b>Integrate in to your Docker Compose</b></summary>

Integrate in to an your existing project's Docker Compose with:

services:
  rivet:
    image: rivetgg/rivet
    platform: linux/amd64
    volumes:
      - rivet-data:/data
    ports:
      - "8080:8080"
      - "9000:9000"
      - "7080:7080"
      - "7443:7443"
      # Optional: Rivet Guard TCP & UDP
      - "7500-7599:7500-7599"
      # Optional: Host networking TCP & UDP
      - "7600-7699:7600-7699"

volumes:
  rivet-data:

Next, follow the setup guide.

</details>

Developing Rivet

Compile Rivet from scratch and start a full cluster.

<details> <summary><b>Docker Compose</b></summary>

Build & start the cluster with:

docker compose -f docker/dev-full/docker-compose.yml up -d

Then visit http://localhost:8080 in your browser.

</details>

Self-hosting & manual deployment

Read our self-hosting documentation.

Rivet Cloud

Rivet Cloud is the fastest, most affordable, and most reliable way to deploy Rivet Actors with zero infrastructure maintenance. Get started at hub.rivet.gg.

Rivet Enterprise

Get a demo, tailored pricing to fit your needs, or have your questions answered about Rivet. Contact us here.

Documentation

Community & Support

Architecture

Core technologies

Diagram

Architecture

Project layout

docker/                      Docker-related files
    client/                  Client image
    dev-full/                Full development environment setup
    monolith/                Monolithic Docker setup
    server/                  Server image
docs/                        Documentation
docs-internal/               Internal documentation
examples/                    Example projects
packages/                    Project packages
    api/                     API package
    common/                  Common utilities
    infra/                   Infrastructure-related code
    services/                Service implementations
    toolchain/               Toolchain-related code
resources/                   Resource files
scripts/                     Scripts for various tasks
sdks/                        SDKs
    actor/                   Actor SDK
    api/                     API SDK

License

Apache 2.0