转 聊天服务器
|-转 /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 ...