Pré-requisitos do Sistema
O Bemba está alojado em VPS Linux com Docker nativo. Esta página descreve o que é preciso para um servidor de produção ou de pré-produção.
Servidor
| Recurso | Mínimo | Recomendado | Constatado |
|---|---|---|---|
| Sistema | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS | Ubuntu (VPS OVH) |
| Processador | 4 vCPU | 8 vCPU | 8 vCPU |
| Memória | 8 GB | 16 GB | 23 GB (pré-produção, que aloja também Kobo, Survey Solutions e GitLab) |
| Disco | 100 GB SSD | 200 GB SSD | 193 GB |
| Rede | IPv4 pública fixa | — | 51.75.79.112 (prod), 51.75.77.220 (pré-prod) |
A pré-produção precisa de mais memória do que a produção: o KoboToolbox (≈ 5 GB) e o GitLab (≈ 3 GB) correm aí além da aplicação.
Software do servidor
| Software | Versão | Observação |
|---|---|---|
| Docker Engine | 24 ou superior | instalação nativa (apt), sem Docker Desktop nem máquina virtual |
| Docker Compose | v2 (docker compose, plugin) | a v1 (docker-compose) é incompatível com o Docker Engine 28 (KeyError: 'ContainerConfig') |
| Git | 2.x | facultativo no servidor (o código é enviado por arquivo) |
cron | — | salvaguardas, resumo das reclamações, indexação do assistente |
Nada mais é instalado no anfitrião: PHP, Node, PostgreSQL, Redis e Nginx correm nos contentores.
Portas
| Porta | Exposta a | Serviço |
|---|---|---|
| 22 | Internet (só chave SSH) | administração |
| 80, 443 | Internet | Traefik (HTTP redirecionado para HTTPS) |
| 2525 | só o servidor 220 (produção) | relé SMTP para o KoboToolbox |
| 2222 | Internet (pré-produção) | SSH do GitLab |
| 3100, 8080, 9100, 9121, 9187 | só 127.0.0.1 | Loki e exportadores de métricas |
| 5432, 6379 | rede Docker interna | PostgreSQL, Redis |
DNS
Registos A a criar no registador (OVH):
| Nome | Destino |
|---|---|
bemba.ucp-pch.org, mariacare.ucp-pch.org, ucp-pch.org, sig.ucp-pch.org, docubemba.ucp-pch.org | 51.75.79.112 |
sig-preprod.ucp-pch.org, kf.kobo.ucp-pch.org, kc.kobo.ucp-pch.org, ee.kobo.ucp-pch.org, gitlab.ucp-pch.org | 51.75.77.220 |
Os certificados Let's Encrypt são obtidos automaticamente pelo Traefik assim que o nome aponta para o servidor certo.
Serviços externos
| Serviço | Uso | Obrigatório |
|---|---|---|
SMTP OVH (ssl0.ovh.net:587, conta noreply@ucp-pch.org) | e-mails da aplicação | sim |
| Anthropic (Claude) | assistente Bemba | para o assistente |
| Cohere | pesquisa semântica do assistente, agrupamento das reclamações | não (recurso a texto integral) |
| KoboToolbox (nuvem e auto-alojado) | recolha, reclamações, código de conduta | conforme os projetos |
| Sentry | notificação de erros | recomendado |
Servidor 220 e SMTP
O servidor de pré-produção não alcança nenhuma porta SMTP da OVH. Os e-mails da aplicação falham aí de propósito; os do KoboToolbox passam pelo relé da produção (ver KoboToolbox auto-alojado).
Posto de administração
- Cliente SSH com a chave autorizada nos servidores.
- Node.js 20+ e npm para construir o frontend e a documentação; PHP 8.3 para as verificações locais.
- Navegador recente (Chrome, Edge, Firefox).