Hospedar o BookStack em um VPS gerenciado é guardar sua documentação em uma máquina própria, que nossas equipes mantêm atualizada e supervisionam dia e noite. O BookStack é um software livre sob a licença MIT, simples de rodar: PHP, MySQL ou MariaDB e um servidor web, sem Docker. Este guia segue a documentação oficial dele: a instalação, o HTTPS, os dados, os e-mails, a segurança, os backups e as atualizações.
Por Simon Vasconcelos Lee
Publicado em 13 de novembro de 2026Leitura: 11 minutos
public dele.APP_URL: os links e os cookies seguros dependem dele..env, de public/uploads, storage/uploads e themes, e guarde com cuidado a APP_KEY.O BookStack é uma plataforma de documentação pensada para continuar simples: o README dele visa uma adoção imediata, com apenas noções de processamento de texto. Suas equipes escrevem nele seus procedimentos, sua documentação e sua base de conhecimento, em um navegador, em português se quiserem.
O projeto assume suas escolhas: o README dele esclarece que o BookStack não foi concebido como uma plataforma extensível para outros usos, e ele continua fiel à documentação. A renderização de PDF passa pelo dompdf, sem instalação adicional, com capacidades limitadas; o projeto documenta outros motores com EXPORT_PDF_COMMAND.
O BookStack é publicado sob a licença MIT por Dan Brown e pelos colaboradores do projeto. Ela autoriza qualquer uso, qualquer modificação e qualquer distribuição, com uma condição: manter o aviso de copyright e o texto da licença em toda cópia do software. O FAQ do projeto esclarece que essa atribuição diz respeito ao código que você compartilha: nada obriga você a exibir o nome ou o logotipo do BookStack em sua instância.
O projeto mantém uma única versão, livre e gratuita: ele não oferece edição empresarial e não tem hospedagem oficial, nem plano de abrir uma. Em compensação, vende planos de suporte, que contribuem para o financiamento dele junto com as doações e os patrocínios. O BookStack é instalado, portanto, em seu servidor, sem licença a comprar.
| Elemento | Versão exigida | Detalhe |
|---|---|---|
| PHP | 8.2 ou mais recente | Extensões curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml e zip |
| Banco de dados | MySQL 8.0 ou mais recente, MariaDB 10.6 ou mais recente | Um único banco, cujo esquema o próprio BookStack gerencia |
| Composer | 2.2 ou mais recente | Para as dependências PHP |
| Git | Sem versão especificada | Para obter o código e aplicar as atualizações |
| Servidor web | Compatível com PHP | Apache ou Nginx, raiz web na pasta public |
O Docker continua opcional. O projeto não publica imagem oficial: as instalações em contêiner vêm de projetos da comunidade, LinuxServer.io e solidnerd. Este guia segue o caminho oficial, PHP e MySQL diretamente no servidor, que não exige nada além disso.
A documentação descarta a hospedagem PHP compartilhada: o BookStack exige um servidor que você administra. Ela não informa a memória nem o processador necessários. Em um VPS gerenciado, descreva-nos o uso, o número de pessoas e o volume de imagens e anexos, e recomendamos o tamanho adequado.
O projeto propõe dois caminhos: um script para Ubuntu, o mais curto em um servidor novo, e uma instalação manual para todos os outros casos.
| Sistema | O que o script instala |
|---|---|
| Ubuntu 26.04 | Apache, MySQL 8.4 e PHP 8.5 |
| Ubuntu 24.04 | Apache, MySQL 8.0 e PHP 8.3 |
| Ubuntu 22.04 | Apache, MySQL 8.0 e PHP 8.4 |
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.sh
Esses scripts são reservados a um sistema recém-instalado: eles podem sobrescrever uma configuração web existente. Também deixam de lado dois assuntos, as configurações de e-mail e a segurança do sistema, a prever à parte.
O script coloca o BookStack em /var/www/bookstack. O do Ubuntu 26.04 pede o domínio e o endereço da conta de administrador e exibe no fim uma senha gerada ao acaso, ausente do log dele: anote-a. Com outro script, anote os acessos exibidos no fim e mude qualquer acesso padrão no primeiro login.
Comece pelo banco de dados: um banco e um usuário limitado a esse banco. O script do projeto procede assim, com a senha de sua escolha no lugar de change-me:
sudo mysql -u root --execute="CREATE DATABASE bookstack;"
sudo mysql -u root --execute="CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'change-me';"
sudo mysql -u root --execute="GRANT ALL ON bookstack.* TO 'bookstack'@'localhost';FLUSH PRIVILEGES;"
Obtenha em seguida o ramo release, defina os direitos que a documentação dá para /var/www/bookstack e instale as dependências:
cd /var/www
sudo git clone https://source.bookstackapp.com/bookstack.git --branch release --single-branch bookstack
sudo chown -R $USER:www-data /var/www/bookstack
sudo chmod -R 755 /var/www/bookstack
sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache /var/www/bookstack/public/uploads
cd bookstack
composer install --no-dev
cp .env.example .env
sudo chmod 640 .env
Preencha o banco e o endereço no .env:
APP_URL=https://docs.example.com
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=change-me
php artisan key:generate
php artisan migrate
Aponte por fim a raiz web para a pasta public: DocumentRoot no Apache, root no Nginx. Sem o Apache, ou quando os arquivos .htaccess estão desativados, acrescente as regras de reescrita de endereços: o projeto publica exemplos para o Apache e para o Nginx.
Uma instalação manual abre com a conta admin@admin.com e a senha password. Mude o endereço e a senha no primeiro login.
Os visitantes chegam pelas portas 80 e 443, sob o nome de domínio do servidor. Crie para esse nome registros A e AAAA e peça o certificado: o script do Ubuntu 26.04 configura o Apache só na porta 80, e a página de instalação deixa o HTTPS por sua conta. O Certbot instala o certificado Let's Encrypt, adapta o Apache e renova o certificado por conta própria. No Nginx, troque --apache por --nginx.
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com
Passe em seguida o endereço para HTTPS no .env. APP_URL deve corresponder exatamente ao endereço de visita, prefixo incluído: uma diferença aparece como estilos ausentes, ícones desproporcionais e menus quebrados. Um endereço em https ativa sozinho os cookies seguros.
APP_URL=https://docs.example.com
Se já existem páginas, os links delas mantêm o endereço antigo no banco. Faça backup do banco e execute o comando do projeto:
php artisan bookstack:update-url http://docs.example.com https://docs.example.com
O BookStack é servido na raiz de um domínio ou subdomínio, e a documentação também descreve uma instalação em uma subpasta, como example.com/bookstack. Se um proxy reverso entrar na frente do Apache, declare o endereço dele em APP_PROXIES: sem isso, o registro de auditoria e a limitação de taxa veem o endereço do proxy no lugar do dos visitantes. A documentação reserva APP_PROXIES="*" ao diagnóstico.
| Local | O que ele contém |
|---|---|
| O banco MySQL ou MariaDB | Todos os dados da aplicação, entre eles o conteúdo de suas páginas |
.env | A configuração, com a APP_KEY e os acessos ao banco e ao servidor de e-mail |
public/uploads | As imagens, com o armazenamento padrão |
storage/uploads | Os anexos, protegidos pelas permissões do BookStack |
themes | Suas personalizações de tema, se houver |
Mantenha a mesma APP_KEY ao longo do tempo e faça backup dela. O BookStack a usa para criptografar, entre outras coisas, os segredos da autenticação em duas etapas: mudá-la pode quebrar essas funções, e desde a versão 26.09 a aplicação devolve um erro se ela estiver ausente.
Com o armazenamento padrão, o servidor web serve diretamente as imagens, o que é rápido, e qualquer pessoa que conheça o endereço delas pode abri-las. Para uma documentação interna, a escolha é feita em STORAGE_TYPE:
| <code>STORAGE_TYPE</code> | Imagens | Acesso |
|---|---|---|
local | public/uploads/images | Servidas diretamente pelo servidor web |
local_secure | storage/uploads/images | Reservadas às pessoas conectadas, salvo acesso público ativado |
local_secure_restricted | storage/uploads/images | Conforme as permissões da página, a opção mais exigente |
s3 | Um bucket compatível com S3 | Imagens tornadas públicas no envio |
Para arquivos pesados, três configurações precisam concordar: FILE_UPLOAD_SIZE_LIMIT no .env, post_max_size e upload_max_filesize no php.ini, e client_max_body_size no Nginx, que vale 1 MB por padrão.
Duas configurações também contam para uma documentação viva: cada página guarda 100 revisões por padrão (REVISION_LIMIT), e a lixeira conserva os itens excluídos por 30 dias (RECYCLE_BIN_LIFETIME).
O BookStack envia e-mails para a confirmação dos endereços, o esquecimento de senha, os convites e as notificações. A partir de um VPS Simafri, o envio passa por um relay SMTP autenticado, na porta 587: o endereço de uma conta de e-mail que você já tem, ou o Simafri Suite.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=bookstack@example.com
MAIL_PASSWORD=change-me
MAIL_FROM=bookstack@example.com
MAIL_FROM_NAME=BookStack
Verifique o resultado em “Settings”, “Maintenance”, com a ação “Send a Test Email”, que mostra os erros encontrados. Uma falha em um convite aparece na tela, enquanto uma falha de notificação fica no log da aplicação.
Por padrão, o BookStack envia e-mails e webhooks durante a requisição, o que pode deixar as páginas lentas. Para passar ao segundo plano, escreva QUEUE_CONNECTION=database no .env e rode um serviço, com o exemplo que a documentação dá para uma instalação Ubuntu por script:
[Unit]
Description=BookStack Queue Worker
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/bookstack/artisan queue:work --sleep=3 --tries=1 --max-time=3600
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable bookstack-queue.service
sudo systemctl start bookstack-queue.service
A documentação de segurança dá uma lista a retomar desde a instalação:
public, sobretudo se o BookStack vive em /var/www.APP_URL, para que os endereços gerados pelo sistema não possam ser manipulados.A autenticação em duas etapas é imposta em seguida por função. Inscreva-se também na lista de e-mails de segurança do projeto, para receber os alertas dele. O endereço /status serve a uma supervisão: ele responde 200 quando tudo vai bem e um código de erro igual ou superior a 400 caso contrário.
O PHP conta tanto quanto o BookStack. O projeto publicou em 21 de outubro de 2026 um alerta sobre uma atualização crítica do PHP, corrigida nas versões 8.5.12, 8.4.27, 8.3.36 e 8.2.35. O Ubuntu publica essas correções com os próprios números de pacote, como 8.3.6-0ubuntu0.24.04.13 para o Ubuntu 24.04.
Para seus conteúdos, mantenha a filtragem ativada por padrão e reserve o relaxamento dela às instâncias em que apenas pessoas de confiança escrevem. Se uma conta de administrador se perder, php artisan bookstack:create-admin cria outra, e php artisan bookstack:reset-mfa remove a autenticação em duas etapas de um usuário.
Um backup completo reúne o banco e os quatro locais de arquivos próprios de sua instância. As exportações de conteúdo servem a outra coisa: a documentação esclarece que elas não substituem um backup.
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes
A primeira linha visa uma instalação por script, em que o root do MySQL se conecta por sudo; em outros casos, escreva mysqldump -u bookstack -p bookstack. Guarde esses dois arquivos à parte, de preferência em outra máquina. O arquivo compactado contém o .env, portanto a APP_KEY e suas senhas: trate-o como um segredo.
Em uma máquina nova, instale o BookStack sem executar php artisan migrate, etapa a comentar no script se você o usar, e restaure o banco e os arquivos, mantendo a APP_KEY original:
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz
Se a versão instalada for mais recente que o backup, execute então php artisan migrate. Devolva os direitos de escrita do servidor web às pastas restauradas. Se o endereço mudou, corrija APP_URL e execute bookstack:update-url.
Faça backup do banco e dos arquivos antes de cada atualização e, a partir da pasta do BookStack:
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear
O script para o Ubuntu 26.04 instala o BookStack sem o Composer. A página das atualizações propõe então, em beta, ./bookstack-system-cli download-vendor no lugar de composer install --no-dev. Essa mesma ferramenta sabe fazer backup e restaurar, mas o projeto ainda não a considera pronta para a produção: teste-a antes de confiar nela.
A documentação mantém uma lista de orientações próprias de cada versão, a ler para a versão visada. Alguns exemplos:
APP_KEY passa a ser obrigatória.storage/fonts deve continuar com permissão de escrita para o servidor web, sem o que as exportações em PDF podem falhar.As falhas são corrigidas em versões de manutenção, como a 26.09.3, de 11 de novembro de 2026: as imagens e os desenhos de uma página em rascunho ou na lixeira continuavam acessíveis e modificáveis, e o rascunho pessoal de um editor podia aparecer para outras pessoas.
A auto-hospedagem exige cuidar do servidor além da aplicação. Em um VPS gerenciado, nossas equipes assumem o servidor e acompanham sua instância de forma proativa; o BookStack continua sendo seu software, com as configurações e os dados dele.
| Assunto | Nossas equipes | Você |
|---|---|---|
| O servidor | Atualizações do sistema e de segurança, com intervenções no servidor incluídas | O momento que convém a sua atividade |
| A supervisão | Servidor acompanhado 24 horas por dia, 7 dias por semana, com intervenção sem esperar sua ligação | Seus usuários, as funções deles e seus conteúdos |
| BookStack | Acompanhamento proativo: erros, lentidões e espaço em disco identificados, correção recomendada | A instalação, as atualizações e as configurações dele, que você aplica, por conta própria ou com seu assistente de IA |
| Os backups | Toda noite, criptografados e guardados fora da máquina; restauração incluída | O pedido de restauração, quando você precisar |
| A migração | Seu servidor atual migrado, grátis | O momento da virada |
Se você preferir que nossas equipes intervenham na própria aplicação, esse serviço é cobrado por hora ou por valor fechado, com o orçamento informado antes da intervenção.
Com um VPS gerenciado Simafri, nossas equipes mantêm atualizado o servidor de sua instância BookStack, monitoram-no dia e noite e intervêm sem esperar sua ligação; elas também acompanham sua instância de forma proativa e recomendam as correções úteis, que você aplica por conta própria ou com seu assistente de IA. Os backups são criptografados todas as noites e guardados fora da máquina, a restauração está incluída, e a migração de seu servidor atual é grátis.
Sim. O BookStack está sob a licença MIT, que autoriza qualquer uso, e o projeto mantém uma única versão, sem edição empresarial. Ele também oferece planos de suporte pagos, que continuam opcionais. Resta o custo do servidor em que ele roda.
Em um Ubuntu 26.04, 24.04 ou 22.04 recém-instalado, baixe o script de instalação do projeto, torne-o executável e execute-o com sudo. Ele instala Apache, MySQL e PHP. Em uma máquina que já está em uso, siga a instalação manual, pois o script pode sobrescrever uma configuração web existente.
Não. As instalações em contêiner vêm de projetos da comunidade, LinuxServer.io e solidnerd. O caminho oficial instala o BookStack diretamente no servidor, com PHP, MySQL ou MariaDB e um servidor web, à mão ou pelo script para Ubuntu.
PHP 8.2 ou mais recente, MySQL 8.0 ou MariaDB 10.6 ou mais recente, Composer 2.2 ou mais recente, Git e um servidor web compatível com PHP. O projeto não informa memória nem processador e descarta a hospedagem PHP compartilhada.
Uma instalação manual abre com admin@admin.com e a senha password, a mudar no primeiro login. O script para o Ubuntu 26.04 exibe no fim uma senha gerada ao acaso. Em caso de perda de acesso, php artisan bookstack:create-admin cria um novo administrador.
Exporte o banco com mysqldump e arquive .env, public/uploads, storage/uploads e themes. Mantenha a APP_KEY original em uma restauração e guarde tudo fora da máquina. As exportações de conteúdo do BookStack não substituem esse backup.
Preencha MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM e MAIL_FROM_NAME no arquivo .env e execute Send a Test Email em Settings, Maintenance. A partir de um VPS Simafri, o envio passa por um relay SMTP autenticado, na porta 587.
Um VPS gerenciado cobre o servidor: sistema, segurança, supervisão e backups. Nossas equipes também acompanham sua instância de forma proativa e recomendam as correções úteis, que você aplica. Uma intervenção na aplicação é cobrada por hora ou por valor fechado.
Simafri
Vamos falar de seu site
Conte para a gente sobre seu projeto em poucas palavras: responderemos rapidamente.
Obrigado! O seu pedido foi enviado. Responderemos em breve.
Prefere o e-mail? Escreva para a gente em support@simafri.com.