.:. 草榴社區 » 技術討論區 » 教你如何在服务器上搭建端对端加密的聊天平台Rocket.Chat[5P]
本頁主題: 教你如何在服务器上搭建端对端加密的聊天平台Rocket.Chat[5P]字體大小 寬屏顯示 只看樓主 最新點評 熱門評論 時間順序
木马叔叔


級別:聖騎士 ( 11 )
發帖:691
威望:102 點
金錢:1994 USD
貢獻:33950 點
註冊:2011-06-06

教你如何在服务器上搭建端对端加密的聊天平台Rocket.Chat[5P]

前言:由于某些众所周知的原因,端对端聊天在某国是被禁止的,但是可以通过自己搭建的方式,实现与朋友的端对端聊天。

这种方法的优点在于其代码是开源的,而且数据也存放在自己的服务器上,相比市面的端对端聊天软件还是比较安全的。

下面就以Ubuntu为例,聊聊怎么以Docker的形式搭建端加密的聊天平台Rocket.Chat。
 
1. 安装Docker和Docker Compose:

1.1 码头工人

引用

curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh

1.2 码头工人撰写
引用

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -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

2. 在服务器的root路径下新建一个名为rocketchat的文件夹:
引用

mkdir /root/rocketchat
cd /root/rocketchat

3. 去Rocket.Chat的Github https://github.com/RocketChat 下载docker-compose.ymlenv.example文件,并上传到/root/rocketchat路径下。嫌懒的可以直接复制下面的代码:

3.1 docker-compose.yml
複製代碼
  1. volumes:
  2.   mongodb_data: { driver: local }
  3. services:
  4.   rocketchat:
  5.     image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE:-latest}
  6.     restart: always
  7.     labels:
  8.       traefik.enable: "true"
  9.       traefik.ht@Gue^33D-9#[email]2nv@tp.routers.rocketchat.rule[/email]: Host(`${DOMAIN:-}`)
  10.       traefik.ht@Gue^33D-9#[email]2nv@tp.routers.rocketchat.tls[/email]: "true"
  11.       traefik.ht@Gue^33D-9#[email]2nv@tp.routers.rocketchat.entr[/email]ypoints: https
  12.       traefik.ht@Gue^33D-9#[email]2nv@tp.routers.rocketchat.tls.cert[/email]resolver: le
  13.     environment:
  14.       MONGO_URL: "${MONGO_URL:-\
  15.         mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
  16.         ${MONGODB_DATABASE:-rocketchat}?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
  17.       MONGO_OPLOG_URL: "${MONGO_OPLOG_URL:\
  18.         -mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\
  19.         local?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}"
  20.       ROOT_URL: ${ROOT_URL:-http://localhost:${HOST_PORT:-3000}}
  21.       PORT: ${PORT:-3000}
  22.       DEPLOY_METHOD: docker
  23.       DEPLOY_PLATFORM: ${DEPLOY_PLATFORM:-}
  24.       REG_TOKEN: ${REG_TOKEN:-}
  25.     depends_on:
  26.       - mongodb
  27.     expose:
  28.       - ${PORT:-3000}
  29.     ports:
  30.       - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3000}:${PORT:-3000}"
  31.   mongodb:
  32.     image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-5.0}
  33.     restart: always
  34.     volumes:
  35.       - mongodb_data:/bitnami/mongodb
  36.     environment:
  37.       MONGODB_REPLICA_SET_MODE: primary
  38.       MONGODB_REPLICA_SET_NAME: ${MONGODB_REPLICA_SET_NAME:-rs0}
  39.       MONGODB_PORT_NUMBER: ${MONGODB_PORT_NUMBER:-27017}
  40.       MONGODB_INITIAL_PRIMARY_HOST: ${MONGODB_INITIAL_PRIMARY_HOST:-mongodb}
  41.       MONGODB_INITIAL_PRIMARY_PORT_NUMBER: ${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}
  42.       MONGODB_ADVERTISED_HOSTNAME: ${MONGODB_ADVERTISED_HOSTNAME:-mongodb}
  43.       MONGODB_ENABLE_JOURNAL: ${MONGODB_ENABLE_JOURNAL:-true}
  44.       ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD:-yes}
複製代碼

3.2 环境示例
複製代碼
  1. ### Rocket.Chat configuration
  2. # Rocket.Chat version
  3. # see:- https://github.com/RocketChat/Rocket.Chat/releases
  4. #RELEASE=
  5. # MongoDB endpoint (include ?replicaSet= parameter)
  6. #MONGO_URL=
  7. # MongoDB endpoint to the local database
  8. #MONGO_OPLOG_URL=
  9. # IP to bind the process to
  10. #BIND_IP=
  11. # URL used to access your Rocket.Chat instance
  12. #ROOT_URL=
  13. # Port Rocket.Chat runs on (in-container)
  14. #PORT=
  15. # Port on the host to bind to
  16. #HOST_PORT=
  17. ### MongoDB configuration
  18. # MongoDB version/image tag
  19. #MONGODB_VERSION=
  20. # See:- https://hub.docker.com/r/bitnami/mongodb
  21. ### Traefik config (if enabled)
  22. # Traefik version/image tag
  23. #TRAEFIK_RELEASE=
  24. # Domain for https (change ROOT_URL & BIND_IP accordingly)
  25. #DOMAIN=
  26. # Email for certificate notifications
  27. #LETSENCRYPT_EMAIL=
複製代碼

3.3 修改环境示例:
引用

#PORT=
修改为
PORT=服务器公网IP或域名

4. 放行3000端口;

5. 运行Docker(下载文件需要一段时间):
引用

docker compose up -d

6. Docker运行后(实测还需要再等待一段时间),打开下面这个网址,注册管理员账户(第一次注册的默认为管理员)
引用

服务器公网IP或域名:3000 

7. 然后就可以开心的玩耍了,如果嫌访问地址带端口有点麻烦,再做个反代就行了。
防水图:
 
 
 
 

赞(32)
DMCA / ABUSE REPORT | TOP Posted: 08-03 12:05 發表評論
.:. 草榴社區 » 技術討論區


電腦版 手機版 客戶端 DMCA
用時 0.01(s) x3, 06-12 09:18