Change platform to rocket.chat

This commit is contained in:
ChenKaiLiuG
2026-02-01 01:24:56 +08:00
parent f1761cb25d
commit 809a65056d
6 changed files with 1069 additions and 230 deletions

View File

@@ -11,7 +11,7 @@ services:
POSTGRES_USER: tobiichi3227
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- /mnt/data/External/tobiichiGPT/db_data:/var/lib/postgresql/data
- /mnt/data/External/tobiichiGPT/db_data/pg:/var/lib/postgresql/data
networks:
- tobiichiGPT-network
healthcheck:
@@ -20,6 +20,43 @@ services:
timeout: 5s
retries: 5
# MongoDB - Rocket.Chat 資料庫
mongo:
image: mongo:7.0
container_name: tobiichiGPT-mongo
restart: unless-stopped
volumes:
- /mnt/data/External/tobiichiGPT/db_data/mongo:/data/db
networks:
- tobiichiGPT-network
command: mongod --oplogSize 128 --replSet rs0
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
# MongoDB Replica Set 初始化
mongo-init-replica:
image: mongo:7.0
container_name: tobiichiGPT-mongo-init
restart: "no"
depends_on:
mongo:
condition: service_healthy
networks:
- tobiichiGPT-network
command: >
bash -c "
for i in {1..30}; do
mongosh mongo/rocketchat --eval \"
rs.initiate({
_id: 'rs0',
members: [ { _id: 0, host: 'mongo:27017' } ]
})\" && break || echo \"嘗試 $$i 次,等待 5 秒...\" && sleep 5;
done
"
# API 轉接層 - 偽裝 OpenAI API
api:
image: python:3.11-slim
@@ -33,8 +70,9 @@ services:
- DB_NAME=tobiichiGPT
- DB_USER=tobiichi3227
- DB_PASSWORD=${DB_PASSWORD}
- PAPERCUPS_URL=http://papercups:4000
- PAPERCUPS_API_TOKEN=${PAPERCUPS_API_TOKEN}
- ROCKETCHAT_URL=http://rocketchat:3000
- ROCKETCHAT_USER=${ROCKETCHAT_USER}
- ROCKETCHAT_PASSWORD=${ROCKETCHAT_PASSWORD}
volumes:
- /mnt/data/External/tobiichiGPT/api_data:/app
working_dir: /app
@@ -48,6 +86,8 @@ services:
depends_on:
postgres:
condition: service_healthy
rocketchat:
condition: service_started
# Open WebUI - 用戶對話介面
openwebui:
@@ -59,6 +99,7 @@ services:
environment:
- DATABASE_URL=postgresql://tobiichi3227:${DB_PASSWORD}@postgres:5432/tobiichiGPT
- WEBUI_AUTH=True
- ENABLE_FORWARD_USER_INFO_HEADERS=True
volumes:
- /mnt/data/External/tobiichiGPT/ui_data:/app/backend/data
networks:
@@ -67,23 +108,26 @@ services:
postgres:
condition: service_healthy
# Papercups - 管理員對話介面
papercups:
image: papercups/papercups:latest
container_name: tobiichiGPT-papercups
# Rocket.Chat - 管理員對話介面
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:latest
container_name: tobiichiGPT-rocketchat
restart: unless-stopped
ports:
- "14000:4000"
- "13000:3000"
environment:
- DATABASE_URL=postgresql://tobiichi3227:${DB_PASSWORD}@postgres:5432/papercups
- SECRET_KEY_BASE=${PAPERCUPS_SECRET_KEY}
- BACKEND_URL=http://localhost:14000
- MIX_ENV=prod
MONGO_URL: mongodb://mongo:27017/rocketchat?replicaSet=rs0
MONGO_OPLOG_URL: mongodb://mongo:27017/local?replicaSet=rs0
ROOT_URL: http://localhost:13000
PORT: 3000
DEPLOY_METHOD: docker
networks:
- tobiichiGPT-network
depends_on:
postgres:
mongo:
condition: service_healthy
mongo-init-replica:
condition: service_completed_successfully
networks:
tobiichiGPT-network: