Skip to content
frappePublic

About

Simple, open source team messaging platform

Topics

Resources

Stars

819 stars

Watchers

14 watching

Forks

Repository files navigation

Raven logo

Raven

A simple chat app for teams

GitHub release CI License: AGPL v3

Website - Discussions - Issues

Raven

Raven is open-source chat for teams. Channels, direct messages, threads, files and reactions, with nothing surprising in between. It runs on your own Frappe site, so your conversations stay in your database and there is no per-user pricing.

Raven is built on the Frappe Framework and works alongside ERPNext, HR, CRM and Helpdesk.

Key features

  • Channels and direct messages: Open, private and public channels, plus one-to-one messages. Group channels into workspaces.
  • Threads and replies: Reply inline, or start a thread when a discussion needs its own space.
  • Rich messages: Formatting, mentions, links, code blocks, emoji and custom reactions.
  • Files and previews: Drag in images and documents. Links and shared documents show a preview card.
  • Search: Find messages, files and people across every channel you belong to.
  • Notifications: Web push, quiet hours and per-channel preferences. Reminders and scheduled messages.
  • Mobile: Works in the browser and as an installable web app on phones.

Works with your Frappe apps

  • Share a document: Paste a link to any document on the site and Raven shows it with its status and key fields.
  • Document notifications: Post to a channel when a document is created, changed or submitted. Conditions and templates are configurable without code.
  • Workflows from the chat: Approve, reject or send back a document without leaving the conversation.
  • Know who is on leave: Frappe HR leave shows up next to a person's name.
  • Bots, webhooks and AI agents: Build bots that post and reply, send incoming webhooks into channels, and set up agents backed by your own OpenAI or compatible provider.

Under the hood

Compatibility

Raven branch Frappe branch
develop version-15 (15.111 or later), version-16, develop

Getting started

Frappe Cloud

Install Raven on a site from the Frappe Cloud marketplace. Frappe Cloud takes care of hosting, upgrades, backups and support.

Self hosting

Pilot is the recommended way to run Raven on your own server. It installs Frappe, manages sites and backups, and sets up production with nginx and TLS. Pilot needs Frappe v16 or later.

Install Pilot:

curl -fsSL https://raw.githubusercontent.com/frappe/pilot/develop/install.sh | bash

Create a bench and run the setup wizard. The first start prints the URL of the admin wizard.

pilot new main
pilot -b main start

Then add Raven and create a site:

pilot -b main get-app https://github.com/frappe/raven
pilot -b main new-site chat.example.com
pilot -b main install-app chat.example.com raven

Raven opens at https://chat.example.com/raven. See the Pilot production guide for nginx, TLS and process managers.

If you already have a bench, install Raven the usual way:

bench get-app https://github.com/frappe/raven
bench --site your-site install-app raven

Development

Set up a bench with Pilot or bench, get the app and create a site as above, then turn on developer mode and skip CSRF checks for the site. The second setting is for local development only, since the Vite dev server has no CSRF token.

bench set-config -g developer_mode 1
bench --site raven.localhost set-config ignore_csrf 1

Web app

The web app is a React single page app in apps/web. To work on it with hot reloading, add a .env.local file in apps/web:

VITE_SITE_NAME='raven.localhost'
VITE_SOCKET_PORT=9000

VITE_SOCKET_PORT is the socket.io port of your bench, usually the web port plus 1000. Then start the dev server from the app folder:

cd apps/raven
yarn
yarn dev

The app runs at http://raven.localhost:8080 and proxies API calls to your site. Run yarn from the repository root only, not from apps/web.

Community

License

AGPLv3



About

Simple, open source team messaging platform

Topics

Resources

Stars

819 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages