Total Pageviews

Friday, 13 September 2024

类似于Slack/Discord的聊天程序Tailchat

 

Next generation noIM application in your own workspace, not only another Slack/Discord/Rocket.chat

tailchat.msgbyte.com/

Docker Publish Docker Image Version (tag latest semver) Docker Pulls CI Codemagic build status Desktop Build deploy nightly Tailchat Nightly

tailchat

简体中文

Next generation noIM application in your own workspace

Not only another Slack, Discord, Rocket.Chat....

If you are interested in the concept of noIM, welcome to read my blog:

Official Documentation: https://tailchat.msgbyte.com/

Nightly version Try it online: https://nightly.paw.msgbyte.com/

Nightly version is the automatic compile version, that means, every commit code will be automatically compiled. The reliability and stability of the data are not guaranteed, you can deploy with stable version with docker images or github release page

Motivation

At present, the existing IM applications only focus on chatting itself, and IM is naturally a multi-person collaboration method. In my opinion, it should be able to take on more responsibilities, and form its own unique way of forwarding external applications through IM workflow.

Therefore, I bring up the point of noIM, which means Not only IM. Instead, it designed a highly customized application platform for individuals/teams centered on IM, with third-party applications as enhanced functions, and a plugin system as the glue connection layer in the middle.

To this end, the functions were abstracted, and a lot of time was spent designing the underlying mechanism. An instant messaging application such as Tailchat was born for expansion from the beginning of the underlying design. Through Tailchat's plugin system, developers can easily use their favorite applications as part of Tailchat in a very natural way. Different from traditional integration methods such as Slack, the integration of Tailchat is more free, as if it is a native function.

Feature

  • Pay attention to privacy, only invited members can join the group
  • Prevent strangers, add friends only by nickname + a random string of numbers
  • Two-level group space, dividing different topics by panels
  • Highly customized group space, create original group space by grouping with dragging and dropping. At the same time, more plugins can be used to add more capabilities
  • It can be rigorous or fun. Through the combination of plugins, Tailchat can be created for different scenarios. It can be for individuals or for enterprises
  • The backend microservice structure is ready for large-scale deployment. Don't worry about what to do after the number of user growth

Learn more in our website

Performance and Expansion

Tailchat is a modern open source IM application which based on React + Typescript

Front-end microkernel architecture + backend microservice architecture, Tailchat is ready for clustering deployment.

The front end empowers the application through the plugin system, which is very simple and easy to expand for the secondary development of Tailchat.

NOTICE: Although the core functionality of Tailchat is currently in a stable stage, its exposed interface for third-party developers is still being improved. Generally speaking, it is backward compatible, but retains the possibility of Break Change

Visit the official website to learn more: https://tailchat.msgbyte.com/

Quick Deploy

Deploy on Sealos

Deploy on Sealos

Communication

If you are interested in Tailchat, welcome to join Tailchat's seed user exchange group, your feedback can help Tailchat grow better

Tailchat

Tailchat Nightly Group

Producthunt

Tailchat - The next-generation noIM Application in your own workspace | Product Hunt 

from https://github.com/msgbyte/tailchat

------

Manual Deployment

caution

The content of this chapter requires you to have a certain degree of understanding of nodejs, git, linux. When there are problems such as dependency problems, environmental problems, system problems, etc., you need to have the ability to solve and troubleshoot problems by yourself.

If you do not understand this, it is not recommended that you use the contents of this chapter for deployment. It is recommended to use a unified image for deployment.

Dependencies

  • git
  • nodejs v16.18.0 or above
  • pnpm v8.3.1 or above
  • mongodb
  • redis
  • minio

Download the source code

mkdir msgbyte && cd msgbyte

git clone https://github.com/msgbyte/tailchat.git

Switch to stable code

Because the cloned code is the latest code, it may be unstable for a short period of time, so if you want to switch to the stable code of each version, you can use the tag function of git

For example, if you wanna use v1.7.6, you can use the command:

git checkout v1.7.6

Compile the project

Tailchat is a front-end and back-end separated project. So we have to deal with the front-end code and the back-end code separately

Install dependencies

We assume you have installed nodejs v16.18.0+ or above. And installed pnpm v8.3.1 or above

cd tailchat
pnpm install

This command will take some time to install all the dependencies of Tailchat. When the installation is complete, the internal plug-in will automatically execute the compilation command.

Building the project

NODE_ENV=production pnpm build

This command will execute the commands for compiling the front-end and back-end management terminals in parallel. And move the front-end product to the server/dist/public directory of the server.

When the project is built, our product can run normally.

caution:

Please build in macos / linux environment as much as possible, window does not necessarily fully support shell commands.

Run the project

In order to ensure the horizontal expansion of the project, although the core code of Tailchat is written in the same project, it can be divided into multiple subdivided microservices when it is actually started. Selectively enable different services by passing in a combination of different environment variables.

Create an environment variable file in the server directory using the .env.example directory as an example:

cp server/.env.example server/dist/.env
vim .env

Modify the necessary environment variables to your own, such as MONGO_URL, REDIS_URL, MINIO_URL

then start the service

SERVICEDIR=services,plugins pnpm start:service

SERVICEDIR indicates the directory where the microservice is loaded.

from https://tailchat.msgbyte.com/docs/deployment/other-way/manual

 

No comments:

Post a Comment