转 聊天服务器
|-转 /root/rocketchat/docker-compose.yml errors
yml文件不要用sed,容易产生错误,
用最新版的yq
use yq ,yq4
# --------- 专属安装函数:官方 Go 版 yq ---------
install_yq() {
local arch
arch=$(uname -m)
case "$arch" in
x86_64|amd64) arch="amd64" ;;
aarch64|arm64) arch="arm64" ;;
*) warning "[yq] 不支持的架构: $arch"; return 1 ;;
esac
# 1. 先清掉所有残链/旧文件,防止同名干扰
sudo rm -f /usr/local/bin/yq /usr/bin/yq
# 2. 下载官方预编译二进制
local bin_url="https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${arch}"
sudo wget -qO /usr/local/bin/yq "$bin_url" && sudo chmod +x /usr/local/bin/yq
# 3. 硬拷贝到 /usr/bin(root 默认 PATH 里一定有它)
sudo cp /usr/local/bin/yq /usr/bin/yq
# 4. 二次确认
command -v yq >/dev/null && log "[OK] yq(Go 版)安装成功: $(yq --version 2>&1)" \
|| { error "[yq] 安装后仍找不到二进制"; return 1; }
}
error:
services:
rocketchat:
image: rocketchat/rocket.chat:latest
restart: unless-stopped
ports:
- 127.0.0.1:${RC_HOST_HTTP_PORT}:${RC_CONTAINER_PORT}
environment:
- MONGO_URL=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/rocketchat?authSource=admin
- ROOT_URL=http://${RC_DOMAIN}:${RC_CONTAINER_PORT}
- PORT=${RC_CONTAINER_PORT}
depends_on:
- mongo
deploy:
resources:
limits:
memory: ${ROCKETCHAT_MEM_LIMIT}
cpus: '${ROCKETCHAT_CPU_LIMIT}'
reservations:
memory: 256m
cpus: '0.2'
mongo:
image: mongo:5.0
restart: unless-stopped
volumes:
- ./data/mongo/keyfile:/data/db/keyfile:ro
- ./data/mongo:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
command: mongod --wiredTigerCacheSizeGB 0.5 --auth --keyFile /data/db/keyfile --replSet rs0
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
ports:
- 127.0.0.1:27017:27017
deploy:
resources:
limits:
memory: ${MONGO_MEM_LIMIT}
cpus: '${MONGO_CPU_LIMIT}'
reservations:
memory: 128m
cpus: '0.1'
20250927 1138
good:
services:
rocketchat:
image: rocketchat/rocket.chat:latest
restart: unless-stopped
ports:
- 127.0.0.1:${RC_HOST_HTTP_PORT}:${RC_CONTAINER_PORT}
environment:
- MONGO_URL=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongo:27017/rocketchat?authSource=admin
- ROOT_URL=http://${RC_DOMAIN}:${RC_CONTAINER_PORT}
- PORT=${RC_CONTAINER_PORT}
depends_on:
- mongo
deploy:
resources:
limits:
memory: ${ROCKETCHAT_MEM_LIMIT}
cpus: '${ROCKETCHAT_CPU_LIMIT}'
reservations:
memory: 256m
cpus: '0.2'
mongo:
image: mongo:5.0
restart: unless-stopped
volumes:
- ./data/mongo/keyfile:/data/db/keyfile:ro
- ./data/mongo:/data/db
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
command: mongod --wiredTigerCacheSizeGB 0.5 --auth --keyFile /data/db/keyfile --replSet rs0
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
ports:
- 127.0.0.1:27017:27017
deploy:
resources:
limits:
memory: ${MONGO_MEM_LIMIT}
cpus: '${MONGO_CPU_LIMIT}'
reservations:
memory: 128m
cpus: '0.1'
20250927 1139 ...