OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Tailchat

Plugin-based chat platform with group spaces, panels and optional voice and video

Open source alternative to

Visit TailchatGitHubDocumentation

Main features

  • Groups divided into panels, arranged by drag and drop
  • Invite-only groups and friend requests by nickname and number
  • Front-end and server plugin system
  • Voice and video meetings through LiveKit or Agora plugins
  • Topic, task and GitHub plugins
  • Open platform for third-party apps and bots
  • Web, desktop and mobile apps
  • Microservice backend ready for clustering

What Tailchat does

Tailchat is a chat application whose author describes it as “noIM”, short for “not only IM”: a platform where chat is the center and other tools plug into it. The structure resembles Discord. Users join groups, and each group is divided into panels, such as text channels or embedded tools, which administrators can arrange by drag and drop. Groups are private by default, so only invited members can join, and friend requests need a nickname plus a random number to stop strangers from finding people.

Most of Tailchat’s extra capabilities come as plugins. The repository includes server plugins for LiveKit and Agora voice and video meetings, topics, tasks, a GitHub integration, link previews, a discovery page and push notification providers, and front-end plugins for themes, Markdown panels, embedded web views, file sending, drawing and more. An open platform lets third-party apps and bots connect.

Architecture

Both halves are built for extension. The front end uses a microkernel design in React and TypeScript, where features are loaded as plugins. The back end is a set of Node.js microservices built on the Moleculer framework, so it can be split across several machines as usage grows. The project notes that the core is stable but the interfaces exposed to third-party developers are still being refined and may have breaking changes, although it aims to stay backward compatible.

Self-hosting Tailchat

The documented method is Docker Compose. The tailchat-cli tool pulls or updates the official image and sets up the compose files, or you can pull the image by hand or build from source (building takes about 10 minutes on 2 cores and 4 GB of RAM). The recommended minimum for running it is 1 CPU core and 2 GB of RAM. The stack needs MongoDB, Redis and MinIO for file storage, all included in the compose setup; SMTP is optional for email verification. One-click templates also exist for the Sealos and ClawCloud Run platforms.

Two settings deserve attention. The SECRET variable must be changed to a long random value in production, because the default is public and would let anyone forge user tokens. The default upload limit is 1 MB and has to be raised for most real use. Registration and guest login can be disabled through environment variables.

Hosted version

There is no hosted service for regular use. The project runs a nightly build that is compiled on every commit for testing, and warns that its data is not guaranteed to be reliable or stable.

Limitations

Tailchat has a much smaller community and less documentation than the leading tools in this category. Voice and video depend on plugins and an external LiveKit or Agora service. Plugin interfaces may still change. Workplace features such as SSO, compliance exports and importers from other chat tools are not documented. Messages are not end-to-end encrypted.

Who it suits

Tailchat suits developers and small teams who want a self-hosted chat they can extend with their own plugins, and communities that like a Discord-style layout. For a Discord alternative with a larger user base, compare Stoat and Fluxer; for workplace chat, see Mattermost or Zulip.

Technical details

Self-hosting needs

  • MongoDB
  • Redis
  • MinIO

Built with

  • TypeScript
  • React
  • Node.js
  • Moleculer

GitHub topics

  • bot
  • discord
  • im
  • noim
  • openapi
  • pluginify
  • react
  • slack
  • tailchat
  • typescript

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.