Quero instalar o Rocket.Chat Community Version no meu site e, em seguida, usar a integração Discourse Chat para Rocket.Chat. Criei este guia através de uma discussão com o OpenAI O3. Alguém pode confirmar se estes passos estão corretos para implementar a instância Docker do Rocket.Chat? Só estou a tentar não causar consequências imprevistas por não saber como fazer isto corretamente.
Obrigado!
Passo 1: Configurar o seu DNS no Cloudflare
- Faça login no Cloudflare e adicione um registo A (ou CNAME) para chat.website.com apontando para o endereço IP do seu servidor.
- Certifique-se de que o proxy do Cloudflare está ativado se quiser usar os seus recursos de segurança e desempenho.
Passo 2: Configurar a Implementação do Rocket.Chat
- Conecte-se ao seu servidor via SSH e crie um diretório para o Rocket.Chat (se ainda não o fez):
bash
Copiar
mkdir -p /opt/rocket.chat
cd /opt/rocket.chat - Crie um ficheiro docker-compose.yml neste diretório com o seguinte conteúdo:
yaml
Copiar
version: “3.8”
services:
rocketchat:
image: rocket.chat:latest
restart: unless-stopped
environment:
- PORT=3000
- ROOT_URL=http://chat.website.com
- MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0
- MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0
depends_on:
- mongo
ports:
- “3000:3000”
volumes:
- rocketchat_data:/app/uploads
networks:
- common
mongo:
image: mongo:4.0
restart: unless-stopped
command: mongod --smallfiles --oplogSize 128 --replSet rs0
volumes:
- mongo_data:/data/db
networks:
- common
volumes:
rocketchat_data:
mongo_data:
networks:
common:
external: false
Notas:
• O ROOT_URL está definido para o seu subdomínio (usando HTTP aqui porque o Cloudflare e o Caddy irão gerir o TLS externamente).
• Ambos os serviços estão ligados a uma rede personalizada chamada common. Isto garante que o seu contentor Caddy pode resolver o nome do serviço rocketchat ao encaminhar pedidos.
Passo 3: Inicializar o Conjunto de Réplicas do MongoDB
- Inicie a pilha do Rocket.Chat:
bash
Copiar
docker-compose up -d - Obtenha o ID ou nome do contentor para o MongoDB:
bash
Copiar
docker ps - Conecte-se ao MongoDB:
bash
Copiar
docker exec -it <mongo_container_id_or_name> mongo - Na shell do Mongo, execute:
js
Copiar
rs.initiate() - Saia da shell com exit.
Este passo inicializa o conjunto de réplicas que o Rocket.Chat usa para operações em tempo real.
Passo 4: Atualizar a sua Configuração do Caddy
Como o Caddy já está a ser executado no seu próprio contentor, atualize o seu Caddyfile para incluir um novo bloco de site para o Rocket.Chat. Edite o seu Caddyfile (por exemplo, localizado em /path/to/your/Caddyfile) e adicione:
caddy
Copiar
http://chat.website.com {
reverse_proxy rocketchat:3000
}
Importante:
• A diretiva reverse_proxy usa o nome do serviço rocketchat — isto requer que o contentor Caddy esteja na mesma rede Docker que os contentores Rocket.Chat.
• Se o seu contentor Caddy for gerido através do Docker Compose, pode ligá-lo à mesma rede common. Por exemplo, no ficheiro docker-compose do seu contentor Caddy, adicione:
yaml
Copiar
networks:
- common
E certifique-se de que a rede é declarada (ou ligue o contentor manualmente).
Como está a usar o Cloudflare para DNS e Let’s Encrypt, e já tem a sua configuração a funcionar sem uma diretiva de e-mail, não são necessárias alterações em relação ao TLS.
Passo 5: Recarregar o Caddy e Verificar a Configuração
- Recarregue o Caddy:
Se estiver a executar o Caddy através do Docker, reinicie o contentor para que ele capte a nova configuração do Caddyfile:
bash
Copiar
docker restart <caddy_container_name> - Teste a sua Implementação:
Abra um navegador web e navegue para http://chat.website.com. (O Cloudflare irá gerir o certificado HTTPS.) Deverá ver a página de configuração do Rocket.Chat. - Conclua a Configuração:
Siga as instruções no ecrã para terminar de configurar o Rocket.Chat.
Personalização Adicional
Se precisar de adicionar mais variáveis de ambiente (por exemplo, configurações SMTP ou volumes personalizados) ou tiver requisitos de rede específicos, diga-me para que o guia possa ser refinado ainda mais.
Este guia deve ajudá-lo a implementar o Rocket.Chat Community Edition com Docker Compose num subdomínio gerido pelo Cloudflare, usando o Caddy (no seu próprio contentor) como proxy reverso.