You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailchat/website/docs/deployment/dev.md

2.1 KiB

sidebar_position title
99 Development environment

For setting up the development environment, tailchat provides a very simple and fast way:

Use Docker to quickly build a dependent environment

mongodb

docker run -d --name mongo -p 27017:27017 mongo:4

redis

docker run -d --name redis -p 6379:6379 redis

minio

docker run -d \
  -p 19000:9000 \
  -p 19001:9001 \
  --name minio \
  -e "MINIO_ROOT_USER=tailchat" \
  -e "MINIO_ROOT_PASSWORD=com.msgbyte.tailchat" \
  minio/minio server /data --console-address ":9001"

Example

Here is a minimal example .env which let you can run tailchat in development environment.

PORT=11000
MONGO_URL=mongodb://127.0.0.1:27017/tailchat
REDIS_URL=redis://localhost:6379/
MINIO_URL=127.0.0.1:19000
MINIO_USER=tailchat
MINIO_PASS=com.msgbyte.tailchat

Node Version

Tailchat is develop with nodejs, please install nodejs by yourself, here is nodejs official: https://nodejs.org/

Suggestion to use nodejs18.x, and not support nodejs20 yet because nodejs has some break change.

Start the development server

pnpm install
pnpm dev

You can edit the configuration of server/.env to your own relevant context

The file can be started from server/.env.example

Now you can preview your server in http://localhost:11011

Project directory description

  • apps: non-core applications
    • cli: Tailchats command line program
    • github-app: Tailchats github integration bot
    • oauth-demo: Tailchat open platform third-party login demo program
    • widget: Web page embedded widget
  • client: client
    • desktop: desktop version
    • mobile: mobile version
    • packages: dependency packages
    • shared: platform-independent common code
    • web: web version
      • plugins: pure frontend plugins
      • src: source code
  • packages
    • types: common types for both front and back ends
  • server: server
    • admin: background management
    • models: database model
    • plugins: server-side plugins
    • services: microservices
  • website: official website