Repolode
stoatchat

stoatchat/self-hosted

Docker-based configuration for deploying a full self-hosted Stoat chat instance, including back-end, web front-end, file server and proxies.

Open-source alternative to:Discord

Stars
2,682
Forks
303
Open issues
20
Last commit
last month

What is it?

This repository provides Docker Compose configuration and step-by-step instructions for running a complete Stoat instance on your own server. A deployment includes the back-end, the web front-end, a file server, and a metadata and image proxy.

The setup centers on a generate_config.sh script that creates the required secrets in a secrets.env file and produces a Revolt.toml configuration, which can then be edited for options such as email verification, captcha, a custom S3 server, and iOS and Android push notifications. The guide walks through provisioning an Ubuntu VPS, configuring firewall rules, pointing a domain at the server, and installing Docker. Optional sections cover placing the instance behind another reverse proxy, pinning MongoDB or swapping KeyDB for Valkey or Redis on older or ARM hardware, and updating an existing deployment.

Most official clients do not yet support self-hosted instances, so the web client, including use as a PWA, is the main way to access one.

Key features

  • 01Deploys back-end, web front-end, file server and metadata/image proxy together via Docker Compose.
  • 02Generates secrets and a Revolt.toml configuration with generate_config.sh.
  • 03Supports custom S3 storage, email verification, captcha and mobile push notifications.
  • 04Includes guides for reverse proxy placement, invite-only setup and NGINX.
  • 05Documents upgrade steps and migrations for past breaking changes.

Use cases

  • Running a private chat server for a community or team on your own VPS.
  • Hosting a Stoat instance on a domain you control, with your own storage and data.
  • Testing or evaluating the Stoat stack before deploying it more broadly.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/stoatchat/self-hosted stoat
  2. 2

    Enter the project directory

    cd stoat
  3. 3

    Generate the configuration with your domain

    ./generate_config.sh your.domain
  4. 4

    Start the instance in the background

    docker compose up -d

Things to know

  • Requires a server with Docker and a domain name pointing to it, so self-hosting takes setup effort.
  • Most official clients do not support self-hosted instances; the web client and PWA work best.
  • Licensed under AGPL-3.0, a copyleft license with network-use source disclosure requirements.

In collections

Topics

FAQ

What is self-hosted?
Docker-based configuration for deploying a full self-hosted Stoat chat instance, including back-end, web front-end, file server and proxies. This repository provides Docker Compose configuration and step-by-step instructions for running a complete Stoat instance on your own server. A deployment includes the back-end, the web front-end, a file server, and a metadata and image proxy.
Is self-hosted free to use? What license does it have?
self-hosted is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is self-hosted still maintained?
Updated within 6 months. The last commit to self-hosted was on Oct 7, 2026.
What can I use self-hosted for?
Running a private chat server for a community or team on your own VPS. Hosting a Stoat instance on a domain you control, with your own storage and data. Testing or evaluating the Stoat stack before deploying it more broadly.
How do I install self-hosted?
Clone the repository: git clone https://github.com/stoatchat/self-hosted stoat Enter the project directory: cd stoat Generate the configuration with your domain: ./generate_config.sh your.domain Start the instance in the background: docker compose up -d
Where can I get self-hosted?
The source code and installation instructions are on GitHub: https://github.com/stoatchat/self-hosted

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects