如何用 Docker 优雅的搭建一个属于自己的 Fiora 聊天室?

由 Zhou216 发布

-1.0 前言

前几天在萌备的 Telegram 官方讨论群发现有人发了一个用 Fiora 搭建的聊天室,感觉还挺有意思的,就想着自己也搭建一个来玩玩,然后在网上发现了一篇教程 《宝塔搭建fiora聊天室》](https://moe.blog/fiora.html)) 点进去之前还觉得挺简单的,结果就这东西折腾了老半天......(原谅我太菜) 用 MoeBlog 的方法各种报错,最后翻了一下发现可以通过 Docker 安装,省事不少(然而还是折腾了老半天)

给个我聊天室的地址:https://chat.idream.ink

0.0 什么是Fiora?

fiora 是一款有趣的聊天应用. 基于 node.js, mongodb, react 和 socket.io 等技术开发

fiora is an interesting chat application. It is developed based on node.js, mongodb, react and socket.io technologies

1.0 如何搭建?

我这里是以 CentOS 7.6 来搭建,仅供参考

如果你想直接搭建而不是安装在容器中,可以参考MoeBlog的文章进行安装

1.1 安装 Docker

连接上SSH,直接运行官方脚本安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

等待一会,Docker 安装完毕后进行下一个步骤

1.2 拉取组件

分别输入如下命令拉取MongoDB、Redis 以及 Fiora

# 拉取 mongo
docker pull mongo

# 拉取 redis
docker pull redis

# 拉取 fiora
docker pull suisuijiang/fiora

部分文件较大,请耐心等待 (特别是Fiora,一共1.2个G...)

1.3 启动相关服务

# 创建虚拟网络
docker network create fiora-network

# 启动 mongodB
docker run --name fioradb -p 27017:27017 --network fiora-network mongo

# 启动 redis
docker run --name fioraredis -p 6379:6379 --network fiora-network redis

# 启动 fiora
docker run --name fiora -p 9200:9200 --network fiora-network -e Database=mongodb://fioradb:27017/fiora -e RedisHost=fioraredis suisuijiang/fiora

这里要稍微注意一下,如果你在容器外安装了 MongoDB 或者 Redis,有可能会导致端口被占用,您可以选择删除容器外的两个组件或者选择更改默认端口避开冲突

输入以上指令确保程序正常运行后,关闭三个程序 (Ctrl+C),输入以下指令查看每个程序的CONTAINER ID

docker ps -a

然后输入如下指令启动这三个服务

docker run <redis的Container ID>
docker run <MongoDB的Container ID>
docker run <fiora的Container ID>

// 记住!一定要先启动redis和MongoDB,否则fiora无法正常启动

再输入一次 docker ps -a,确保三个容器的状态(Status)都处于启动(Up)

然后,您就可以输入 您的服务器IP:9200 来进行测试

1.4 反向代理

确保没有问题后,您就可以将自己的域名反向代理到您的 Fiora 上了,我这里用的是宝塔,简单便捷,您也可以参考 官方Github文档 来进行手动配置Nginx反向代理

打开宝塔,创建一个新的域名解析至您的服务器,然后进入 网站设置-反向代理,将目标url设置为 http://127.0.0.1:9200 保存即可,之后您便可以进行SSL的配置了!

1.5 配置

关于配置我没有进行进一步的研究设置,请自行参考官方文档进行摸索

教程结束!Enjoy!

Fiora 项目 Github:yinxin630/fiora: An interesting chat application power by socket.io, koa, mongodb and react (github.com)

官方中文文档:fiora/INSTALL.ZH.md at master · yinxin630/fiora (github.com)


暂无评论

发表评论