Pular para o conteúdo principal

Requisitos

Requisitos de hardware e software para instalação da plataforma ION Guard.

Sistema operacional​

OSVersãoStatus
Ubuntu24.04 LTSRecomendado
Ubuntu22.04 LTSSuportado

Outras distribuições Linux com Docker podem funcionar, mas não são oficialmente suportadas.

Hardware​

Mínimo​

RecursoEspecificação
CPU2 cores
RAM4 GB
Disco20 GB
RedeAcesso à rede local dos gateways BLE

Recomendado (produção)​

RecursoEspecificação
CPU4+ cores
RAM8 GB
Disco50 GB+ (SSD recomendado)
RedeGigabit Ethernet
Dimensionamento

O consumo de disco cresce com a retenção de dados. Com os padrões (sinais: 7 dias, localizações: 90 dias), 50 GB são suficientes para a maioria dos cenários. Ajuste RETENTION_SIGNALS_DAYS e RETENTION_LOCATIONS_DAYS conforme necessidade.

Dimensionamento por escala​

O processamento de sinais BLE é predominantemente I/O bound — o disco é o principal eixo de escala (cresce linearmente com beacons × tempo de retenção), enquanto CPU e RAM permanecem quase constantes. Use SSD: o InfluxDB depende de IOPS.

PerfilCobre atéCenário
2 vCPU + 4 GB RAM~200 sinais/sMaioria dos clientes
4 vCPU + 8 GB RAM~500 sinais/sInstalações maiores
8 vCPU + 16 GB RAMacima dissoRaramente necessário em servidor único

Cada antena emite um pacote MQTT a cada 5 segundos; a taxa aproximada é (antenas × beacons_por_antena) / 5 sinais/s. Para dimensionar disco/CPU/RAM por número de antenas, beacons e sites, consulte o Guia de Dimensionamento de Servidores (documento técnico interno).

Software​

Instalados automaticamente pelo bootstrap​

SoftwareVersãoPropósito
Docker Engine24+Container runtime
Docker Composev2 (plugin)Orquestração de containers
curl—Download de pacotes
jq—Processamento JSON
gnupg—Descriptografia de pacotes
ufw—Firewall
logrotate—Rotação de logs

Containers Docker (gerenciados pela plataforma)​

ServiçoImagemVersão
MariaDBmariadb11
Valkey (Redis)valkey8-alpine
InfluxDBinfluxdb2.7
Nginxnginx1.27-alpine
PHP-FPMBuild localPHP 8.4
Mosquittomosquitto-go-authLatest
Sem instalação manual

Todos os serviços rodam em containers Docker. Não é necessário instalar MariaDB, Redis, InfluxDB ou Mosquitto diretamente no servidor.

Rede​

Portas necessárias​

PortaProtocoloDireçãoServiço
22TCPEntradaSSH (administração)
80TCPEntradaHTTP (redirect para HTTPS)
443TCPEntradaHTTPS (interface web + API)
8883TCPEntradaMQTT sobre TLS (comunicação com antenas/gateways) — padrão
9001TCPEntradaMQTT WebSocket (debug no navegador)
Portas configuráveis

As portas HTTP/HTTPS e MQTT são configuráveis via .env (HTTP_PORT, HTTPS_PORT, MQTT_EXTERNAL_PORT, MQTT_WEBSOCKET_PORT). Útil quando o servidor hospeda outras aplicações.

MQTT com TLS por padrão

Nas versões recentes, a comunicação dos dispositivos com o broker usa TLS na porta 8883 por padrão (os dispositivos devem conectar via TLS); a porta 1883 (texto puro) fica reservada a brokers de desenvolvimento isolados. Libere no firewall a porta definida em MQTT_EXTERNAL_PORT conforme o modo do seu deploy. Ver Configuração → TLS do broker MQTT.

Conectividade​

  • Antenas BLE precisam alcançar a porta MQTT sobre TLS (8883) do servidor — Gateway Radium (hardware Iongrade) ou Minew MG4C
  • Gateways DigiEye precisam alcançar MQTT sobre TLS (8883) do servidor
  • Accelero precisa alcançar MQTT sobre TLS (8883) e HTTPS (443) do servidor
  • Navegadores dos operadores precisam alcançar HTTPS (443)

DNS​

Configure um registro DNS (A ou CNAME) apontando para o IP do servidor, ou use o hostname local diretamente. O certificado SSL auto-gerado inclui tanto o hostname quanto o IP como SANs.

Acesso root​

A instalação requer acesso root ou sudo para:

  • Instalar pacotes do sistema
  • Configurar Docker e firewall
  • Criar o usuário iongrade
  • Registrar serviços systemd