Requisitos
O que um servidor precisa antes de instalar o Bondry, em hospedagem compartilhada e em VPS, e como conferir sem acesso a terminal.
O Bondry é uma aplicação PHP. Não há Node, não há etapa de build e não há serviço para manter vivo além de uma linha de cron. Esta página lista o mínimo para hospedagem compartilhada e a configuração recomendada para VPS, para que você confira a hospedagem antes de comprar.
Resumo#
| Item | Requisito |
|---|---|
| PHP | 8.3 ou superior (8.3, 8.4 e 8.5 são suportados) |
| Banco de dados | MySQL 8.0 ou superior, ou MariaDB 10.6 ou superior (InnoDB, utf8mb4) |
| Servidor web | Apache 2.4 com mod_rewrite (o produto traz public/.htaccess), Nginx ou LiteSpeed |
| HTTPS | Certificado válido no domínio |
| Cron | Uma linha, a cada minuto |
| Rede de saída | HTTPS para api.bondry.org |
| Disco | 500 MB livres antes dos uploads |
| Memória | memory_limit de 256M (128M é o piso) |
Hospedagem compartilhada (mínimo)#
Confira cada linha no painel da hospedagem (cPanel, Plesk ou DirectAdmin).
| O que conferir | Valor | Por quê |
|---|---|---|
| Seletor de versão do PHP | 8.3, 8.4 ou 8.5 | O instalador recusa versões anteriores |
| Extensões do PHP | pdo_mysql, mbstring, openssl, zip, gd, curl, fileinfo, intl, tokenizer |
Todas são obrigatórias; o instalador não continua com uma faltando |
memory_limit |
256M | 128M é o piso; o atualizador do painel e o processamento de imagens precisam de folga |
max_execution_time |
120 ou mais | O atualizador aumenta sozinho quando a hospedagem permite |
upload_max_filesize |
64M | O pacote do core tem cerca de 16 MB e os pacotes de módulos e temas passam pelo painel |
post_max_size |
64M | Deve ser no mínimo igual a upload_max_filesize |
max_input_vars |
3000 | Formulários grandes do painel enviam muitos campos |
| OPcache | Ativado | Páginas mais rápidas |
| Diretórios com escrita | storage, bootstrap/cache, modules, themes e public/uploads |
Cache, logs, pacotes instalados e uploads públicos |
| Banco de dados | Um banco MySQL e um usuário com todos os direitos sobre ele | O instalador cria as tabelas |
| Tarefas cron | Permitidas no painel | Veja abaixo |
| E-mail de saída | Credenciais SMTP ou um provedor de API | O padrão MAIL_MAILER=log grava os e-mails em arquivo; troque depois da instalação |
| HTTPS de saída | api.bondry.org acessível |
Ativação da licença, heartbeat e atualizações |
| Disco | 500 MB livres antes dos uploads | Veja a tabela abaixo |
| SSH | Opcional | O instalador web e o painel fazem tudo |
Cron e fila#
Adicione uma linha, a cada minuto:
* * * * * php /caminho/para/bondry/artisan schedule:run >> /dev/null 2>&1
O agendador cuida da limpeza, do heartbeat da licença, da verificação diária de
atualizações, da limpeza de arquivos, da movimentação de armazenamento, dos
webhooks, das importações RSS e dos resumos. Ele não executa um worker de fila.
O Bondry não exige worker: a indexação de busca roda após a resposta, no mesmo
processo. Se o driver de fila for database e mais de 100 jobs esperarem, a
página de saúde do painel avisa que nenhum worker está rodando. Se a hospedagem
não tem cron, a Configuração Avançada oferece um modo que executa as tarefas
vencidas pelo tráfego do site, no máximo uma vez por minuto.
Disco#
| Parte | Tamanho |
|---|---|
| Pacote do core (compactado) | 16 MB |
| Instalado | cerca de 60 MB |
| Cópia de segurança feita pelo atualizador durante uma atualização | cerca de 60 MB |
| Uploads | cresce com o seu conteúdo |
Planeje 500 MB livres antes dos uploads.
Hospedagens comuns#
Qualquer hospedagem cPanel, Plesk ou DirectAdmin com os valores acima funciona. O instalador verifica cada item antes de gravar qualquer coisa, então uma hospedagem que não atende é apontada antes de alterar a sua conta.
VPS ou servidor dedicado (recomendado)#
| Porte | CPU | RAM | Disco |
|---|---|---|---|
| Pequeno (até alguns milhares de membros, pouco tráfego) | 1 vCPU | 1 GB (2 GB com os módulos Designer e LMS) | 10 GB SSD |
| Médio | 2 vCPU | 4 GB | 40 GB SSD |
| Grande | 4 vCPU | 8 GB | SSD, dimensionado para os uploads |
O MySQL se beneficia mais de RAM e SSD.
Pilha de software#
| Componente | Recomendação |
|---|---|
| Sistema operacional | Debian 12 ou 13, Ubuntu 22.04 ou 24.04 |
| Servidor web | Nginx com PHP-FPM 8.3 ou superior |
| Banco de dados | MySQL 8.4 ou MariaDB 10.11 |
| Worker de fila (opcional) | Supervisor ou systemd executando php artisan queue:work database --sleep=3 --tries=3 |
| Redis (opcional) | Cache, sessão e fila; o arquivo .env tem entradas REDIS_* |
| TLS | Let's Encrypt com certbot |
| Firewall | Apenas 22, 80 e 443 abertas |
| Cron | A mesma linha acima |
| Backups | O banco de dados e o diretório public/uploads |
Um bloco de servidor Nginx mínimo:
server {
listen 443 ssl;
server_name example.com;
root /var/www/bondry/public;
index index.php;
client_max_body_size 64m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
}
}
Propriedade dos arquivos#
O código é legível pelo usuário do PHP. Apenas storage, bootstrap/cache,
modules, themes e public/uploads têm escrita. Defina o dono como o usuário
do PHP-FPM em vez de abrir os diretórios para todos.
Ambientes testados#
| Ambiente | Configuração |
|---|---|
| Produção | Debian 13, Nginx, PHP-FPM 8.5, MySQL 8.4 (bondry.org e demo.bondry.org rodam aqui) |
| Testes automatizados | PHP 8.3 e PHP 8.4 |
| Desenvolvimento | macOS, PHP 8.5 |
Conferindo antes de comprar#
- Envie um arquivo com
<?php phpinfo();e procure a versão do PHP, a lista de extensões e os valores dememory_limit,upload_max_filesize,post_max_sizeemax_input_vars. Apague o arquivo depois. - Cron: abra a seção de cron do painel e confirme que dá para adicionar uma tarefa a cada minuto com a linha de comando do PHP.
- HTTPS de saída: pergunte à hospedagem, ou rode um arquivo PHP de uma linha com
var_dump(file_get_contents('https://api.bondry.org'));e confira que não há erro de conexão. Apague depois.
Problemas comuns#
| Problema | Causa | Solução |
|---|---|---|
| O instalador se recusa a iniciar | PHP 8.2 ou anterior selecionado | Selecione 8.3 ou superior no painel |
Item vermelho para intl ou zip |
Extensão não ativada | Ative na página de extensões do PHP do painel |
| Uploads falham | post_max_size ou upload_max_filesize baixos |
Aumente ambos para 64M |
| Erro 500 após instalar | storage ou bootstrap/cache sem escrita |
Corrija o dono ou as permissões desses diretórios |
| As tarefas agendadas nunca rodaram | Linha de cron ausente ou caminho errado | Adicione a linha; a página de saúde mostra a última execução |
| A ativação da licença falha | HTTPS de saída para api.bondry.org bloqueado |
Peça à hospedagem para liberar |