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
curlDownload de pacotes
jqProcessamento JSON
gnupgDescriptografia de pacotes
ufwFirewall
logrotateRotaçã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
  • 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