# Telemeter **Repository Path**: wz6b/Telemeter ## Basic Information - **Project Name**: Telemeter - **Description**: Telemeter:基于MERN技术栈及WebSocket,WebRTC的即时通讯软件 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-01-14 - **Last Updated**: 2024-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Telemeter ## 介绍 项目原型为 YouTube 博主**Kishan Sheth**的实时聊天 webapp 原项目教程视频:[🔴 Realtime Chat App with React, Node.js, Socket.io and MongoDB (youtube.com)](https://www.youtube.com/watch?v=otaQKODEUFs) 项目在原项目的基础上,主要进行了如下改动 : 1. 添加了好友系统 ​     发送好友请求:点击侧边栏下方的添加好友图标,在搜索框中输入好友昵称,系统即可发出好友请求。 ​     接受好友请求:在侧边栏中,选择`系统通知`,会显示收到的好友请求。 2. 添加了音视频对话模块 ​     点击输入栏右侧的视频通话按钮,即可发出视频通信请求。 ​     注意:该模块使用了WebRTC,若要公网环境下正常使用此功能需要申请SSL证书将HTTP协议升级为HTTPS协议。 ​      在复杂的NAT环境下,P2P连接可能会失败,在此情况下需添加STUN服务进行流量中转。 3. 添加了邮件验证模块 ​     在用户注册时,点击发送验证码按钮,系统会向填写的电子邮箱发送验证码。 ​     注意:使用此功能需在服务端代码中填写自己的邮箱和对应邮箱的授权码。 4. 针对小型移动设备进行了适配 ​ 桌面端页面 移动端页面和聊天页面 ## 部署 ### 安装docker 卸载之前的docker ```sh for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done ``` 安装官方密钥,更新docker源 ```sh # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` 安装docker和docker-compose ```sh sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo docker run hello-world ``` ```sh curl -SL https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose ``` ### 运行项目 ```sh git clone https://gitee.com/wz6b/Telemeter.git cd Telemeter vi .env ``` 修改.env文件,配置自己的邮箱、邮箱授权码、服务器IP、web服务器端口号 **.env** ```sh #EMAIL_USER is email server address EMAIL_USER = "1234567890@qq.com" #EMAIL_PASS is an authorization code used to authorize email addresses to send messages EMAIL_PASS ="xxxxxxxxxxxxx" #HOST is IP or domain name of your server HOST = 127.0.0.1 #NGINX_PORT is the port that provide web server NGINX_PORT = 80 ``` 使用docker构建并运行docker-compose.yml ```sh docker-compose build #构建docker镜像 docker-compose up -d #后台运行docker容器 ```