From 6ab48b02da61e3f9c345b8c462afdc4722f81b6e Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Mon, 27 Mar 2023 16:13:38 +0800 Subject: [PATCH] docs: add user blog Tailchat Synology deployment record --- website/blog/2023-03-27-deploy-in-synology.md | 12 +++++ website/blog/authors.yml | 5 ++ website/docs/contribution/community.md | 1 + .../2023-03-27-deploy-in-synology.md | 46 ++++++++++++++++++ .../authors.yml | 5 ++ .../current/contribution/community.md | 1 + website/static/img/avatar/reacher.png | Bin 0 -> 14300 bytes 7 files changed, 70 insertions(+) create mode 100644 website/blog/2023-03-27-deploy-in-synology.md create mode 100644 website/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-03-27-deploy-in-synology.md create mode 100644 website/static/img/avatar/reacher.png diff --git a/website/blog/2023-03-27-deploy-in-synology.md b/website/blog/2023-03-27-deploy-in-synology.md new file mode 100644 index 00000000..0c56faa4 --- /dev/null +++ b/website/blog/2023-03-27-deploy-in-synology.md @@ -0,0 +1,12 @@ +--- +title: Tailchat Synology deployment record +authors: reacher +image: /img/logo.svg +keywords: + - tailchat +tags: [blog] +--- + +:::info +Its blog is a chinese only blog from users, please switch to chinese language to read it. +::: diff --git a/website/blog/authors.yml b/website/blog/authors.yml index dbdc3eb3..3a2ecd31 100644 --- a/website/blog/authors.yml +++ b/website/blog/authors.yml @@ -4,3 +4,8 @@ moonrailgun: url: https://github.com/moonrailgun image_url: https://avatars.githubusercontent.com/u/6964737?v=4 email: moonrailgun@gmail.com + +reacher: + name: Reacher + title: Tailchat Normal User + image_url: /img/avatar/reacher.png diff --git a/website/docs/contribution/community.md b/website/docs/contribution/community.md index 078957a5..37f90374 100644 --- a/website/docs/contribution/community.md +++ b/website/docs/contribution/community.md @@ -22,3 +22,4 @@ Feel free submit `pr/issue` to submit your contribution to `Tailchat`, so that w ## Article - [【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat](https://blog.laoda.de/archives/docker-compose-install-tailchat) +- [Tailchat Synology deployment record](/blog/2023/03/27/deploy-in-synology) diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-03-27-deploy-in-synology.md b/website/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-03-27-deploy-in-synology.md new file mode 100644 index 00000000..93a882cb --- /dev/null +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-blog/2023-03-27-deploy-in-synology.md @@ -0,0 +1,46 @@ +--- +title: Tailchat 群晖部署记录 +authors: reacher +image: /img/logo.svg +keywords: + - tailchat + - deploy +tags: [blog] +--- + +- 应用名: Tailchat +- 官网: https://tailchat.msgbyte.com/zh-Hans/(中文) +- GitHub: https://github.com/msgbyte/tailchat + +---------- + +部署环境及方式: 白群晖720+,docker-compose部署, 有二级域名及ssl证书。 + +部署步骤: + +1. git下载docker配置文件 + Docker目录下新建tailchat文件夹,并将以下文件存于文件夹中: + > https://github.com/msgbyte/tailchat/blob/master/docker-compose.env + > https://github.com/msgbyte/tailchat/blob/master/docker-compose.yml + +2. 修改docker-compose.env + > SECRET=:加密秘钥,自定义字符串 + > API_URL=:对外可访问的url地址 + > ADMIN_USER=:管理员用户 + > ADMIN_PASS=:管理员密码 + +3. 拉取镜像及开启服务 + ssh到群晖,切换到/volume1/docker/tailchat文件夹,运行: `docker-compose up -d`部署完成。 + +4. 外网访问配置-路由器 + 打开路由器端口转发功能,增加一条转发记录,8800到群晖的8800端口 + +5. 群晖反代设置 + 控制面板 > 登录门户 > 高级 > 反向代理服务器 > 新增 + ``` + 来源:https,域名,端口:8800 + 目的:http,群晖IP,端口:11000 + ``` + 自定义标题 > 新增 > websocket, 自动增加两条数据,点击保存。 + +6. 通过https访问系统。 diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-blog/authors.yml b/website/i18n/zh-Hans/docusaurus-plugin-content-blog/authors.yml index b5bec4e5..4a105ae5 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-blog/authors.yml +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-blog/authors.yml @@ -4,3 +4,8 @@ moonrailgun: url: https://github.com/moonrailgun image_url: https://avatars.githubusercontent.com/u/6964737?v=4 email: moonrailgun@gmail.com + +reacher: + name: Reacher + title: Tailchat 普通用户 + image_url: /img/avatar/reacher.png diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contribution/community.md b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contribution/community.md index 362eefcc..32533a55 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contribution/community.md +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/contribution/community.md @@ -22,3 +22,4 @@ title: 生态与社区 ## 文章 - [【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat](https://blog.laoda.de/archives/docker-compose-install-tailchat) +- [Tailchat 群晖部署记录](/blog/2023/03/27/deploy-in-synology) diff --git a/website/static/img/avatar/reacher.png b/website/static/img/avatar/reacher.png new file mode 100644 index 0000000000000000000000000000000000000000..a56fd008ce71eaa3d42309743502677e769275c7 GIT binary patch literal 14300 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