Skip to main content
O fireflo-install instala o gateway. Ele não instala os serviços com os quais o gateway conversa — sua etapa de pacotes adiciona o cliente PostgreSQL e nenhum servidor, e nunca menciona um broker. Então, em um host vazio, há uma etapa entre descompactar o tarball e rodar o instalador. O setup.sh é essa etapa. Ele vive no repositório de releases, não dentro do tarball, então ele pode ser lido antes de qualquer coisa ser baixada.
Leia antes de rodar. É um único arquivo shell simples, sem nenhum acesso à rede além dos instaladores do NodeSource e do Adoptium que ele nomeia, e você está prestes a rodá-lo como root.O setup.sh não é assinado — é um script do repositório de releases, e não um artefato de build. Os tarballs de release são assinados a partir da 0.9.0; verifique um com gpg --verify SHA256SUMS.asc SHA256SUMS antes de instalar.

O que ele instala

O Java fica desligado por padrão porque o gateway entregue é um binário nativo e não abre nenhum JDK. O próprio fireflo-install diz isso e o pula. Passe --with-java apenas se você pretende compilar a partir do código fonte; ele adiciona o repositório do Adoptium e o temurin-25-jdk.

O que ele deliberadamente não faz

Ele não cria banco de dados, role nem senha, e nenhum usuário ou vhost do RabbitMQ.Instalar um pacote é impessoal e reversível. Cunhar uma credencial e escrevê-la em disco não é nenhuma das duas coisas, e não é uma decisão que um script de setup deveria tomar por você. Crie-os você mesmo — o script imprime os comandos quando termina.
Depois entregue a senha ao fireflo-install em um arquivo, nunca como argumento — um argumento é uma senha no histórico do seu shell e na saída do ps:
O RabbitMQ fica com sua conta guest padrão, que o próprio broker restringe ao loopback — o padrão correto, e o único que não precisa de segredo. Para usá-la:
Sem um broker a fila fica em memória e um reinício descarta o que ainda não chegou a um fornecedor. Esse é o padrão do gateway e uma troca real, não um descuido — veja Filas. Ele também não instala usuário de serviço, unidade systemd, regra de firewall nem configuração. Esses são do fireflo-install, que os faz com cuidado.

Onde ele recusa

Ele recusa em vez de improvisar, em três lugares, e cada recusa é mais barata do que aquilo que ela evita.
O NodeSource e o Adoptium publicam por codename. Escrever um source do apt para uma suite que eles não publicam não falha na hora — falha no próximo apt update, para todos os pacotes do host, e é descoberto semanas depois por alguém que nunca rodou este script.Conhecidos: Ubuntu focal, jammy, noble, plucky; Debian bullseye, bookworm, trixie. Qualquer outra coisa é uma recusa nomeando o que instalar à mão.
O Debian 11 fornece o PostgreSQL 13. Instalá-lo daria a você um servidor contra o qual as migrations falham no meio do caminho, o que deixa um banco meio migrado em vez de uma recusa limpa. O script nomeia o PGDG em vez disso.Um servidor existente abaixo de 14 também é uma recusa: atualizar um servidor com dados nele não é algo que um script de setup deveria fazer com você.
Tudo o que ele faz é um simples apt install. Em outra distribuição, faça à mão — o cabeçalho do script lista exatamente o quê.

Rodando em um container

Um host sem systemd — um build do Docker, um chroot, um container LXC — não consegue habilitar um serviço. O script reporta isso, instala os pacotes mesmo assim, e segue em frente; inicie-os você mesmo, ou habilite-os quando a imagem for inicializada.

Depois

1

Crie o banco de dados

Conforme acima. O script não cria.
2

Confira o host

Não muda nada. Espere Ready.
3

Confirme que o gateway alcança o banco de dados

Espere alcançável, autenticado, privilégios OK, e uma contagem de migrations pendentes. Esta é a conferência que vale rodar — fireflo-install check em modo de arquivo nunca chega a abrir o banco.