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
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.
- 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
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/
If you are interested in Tailchat
, welcome to join Tailchat
's seed user exchange group, your feedback can help Tailchat
grow better
from https://github.com/msgbyte/tailchat
------
Manual Deployment
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.
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