Instalação de Software · 11 min read · Oct 11, 2025

Como Instalar o Servidor Calibre Ebook no Ubuntu 22.04

Calibre é um gerenciador de e-books gratuito e de código aberto. Ele funciona como um aplicativo de desktop multiplataforma junto com um componente de servidor. O componente de desktop pode gerenciar sua biblioteca de e-books em um único dispositivo. E o componente do servidor permite que você:

  • Acesse seus livros de qualquer lugar do mundo.
  • Transfira facilmente seus livros para dispositivos móveis.
  • Compartilhe livros com seus amigos e familiares.
  • Leia e-books diretamente na web.

Neste tutorial, você aprenderá a instalar o servidor Calibre em uma máquina Ubuntu 22.04.

Pré-requisitos

  • Um servidor rodando Ubuntu 22.04.
  • Um usuário não-root com privilégios sudo.
  • O Firewall Descomplicado (UFW) está habilitado e em execução.
  • Um nome de domínio totalmente qualificado apontado para o servidor. Para nosso tutorial, usaremos o domínio calibre.example.com.
  • Tudo está atualizado. $ sudo apt update && sudo apt upgrade

Passo 1 - Configurar o Firewall

O primeiro passo antes de instalar qualquer pacote é configurar o firewall para permitir conexões HTTP e HTTPS.

Verifique o status do firewall.

$ sudo ufw status

Você deve ver algo como o seguinte.

Status: ativo

Para                         Ação      De
--                         ------      ----
OpenSSH                    PERMITIR   Em qualquer lugar
OpenSSH (v6)               PERMITIR   Em qualquer lugar (v6)

Permita as portas HTTP e HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Verifique o status novamente para confirmar.

$ sudo ufw status
Status: ativo

Para                         Ação      De
--                         ------      ----
OpenSSH                    PERMITIR   Em qualquer lugar
80/tcp                     PERMITIR   Em qualquer lugar
443/tcp                    PERMITIR   Em qualquer lugar
OpenSSH (v6)               PERMITIR   Em qualquer lugar (v6)
80/tcp (v6)                PERMITIR   Em qualquer lugar (v6)
443/tcp (v6)               PERMITIR   Em qualquer lugar (v6)

Passo 2 - Baixar e Instalar o Servidor Calibre

O Ubuntu 22.04 já vem com o Calibre, mas é melhor instalá-lo diretamente para obter a versão mais recente.

O primeiro passo é instalar algumas dependências.

$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glx

Baixe o instalador do servidor Calibre.

$ wget https://download.calibre-ebook.com/linux-installer.sh

Torne o script do instalador executável.

$ chmod +x ./linux-installer.sh

Execute o instalador.

$ sudo ./linux-installer.sh

Você receberá alguns avisos porque o instalador espera um desktop e não um servidor. É seguro ignorar os avisos.

Passo 3 - Criar uma Biblioteca Calibre e adicionar seu primeiro livro

O próximo passo é configurar uma biblioteca Calibre e adicionar alguns livros a ela. Para nosso tutorial, baixaremos o livro As Aventuras de Sherlock Holmes de Arthur Conan Doyle do Project Gutenberg.

$ wget http://www.gutenberg.org/ebooks/1661.kindle.noimages -O adventuresofsherlockholmes.mobi

Sempre baixe a versão Kindle do livro do site. Aqui, estamos renomeando a versão Kindle para filename.mobi porque o formato Mobi é suportado nativamente no Kindle, razão pela qual é assim nomeado no site. Ele também oferece melhores opções de formatação do que a versão Epub.

Crie um diretório para a biblioteca Calibre.

$ mkdir calibre-library

Adicione o livro que você acabou de baixar à biblioteca usando o comando calibredb. Especificamos a localização da biblioteca no próprio comando.

$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library/
Adicionado ids de livros: 1

Você pode adicionar vários livros de uma vez da seguinte maneira.

$ calibredb add *.mobi --with-library calibre-library/

Passo 4 - Iniciar o Servidor Calibre

Agora que temos nossos livros prontos, é hora de iniciar o servidor Calibre.

$ calibre-server calibre-library

O comando calibre-server recebe a localização da biblioteca como seu argumento. Você deve ver uma saída semelhante.

calibre server listening on 0.0.0.0:8080
OPDS feeds advertised via BonJour at: your_server_ip port: 8080

Isso expõe o servidor Calibre na porta 8080. Para visualizar o servidor, você precisa abrir a porta primeiro. Execute o seguinte comando para abrir a porta 8080.

$ sudo ufw allow 8080

Abra a URL http://:8080/ em seu navegador e você verá a seguinte tela. A tela aparecerá escura ou clara dependendo da escolha do tema do seu sistema operacional.

Página Inicial do Servidor Calibre

Clique no link calibre-library para visualizar o livro que você adicionou na etapa anterior.

Visualização da Biblioteca do Servidor Calibre

Feche o servidor pressionando as teclas Ctrl + C no seu terminal.

Você pode usar uma porta diferente para expor o servidor Calibre. Para fazer isso, use o seguinte comando. Você precisará garantir que a porta esteja aberta no firewall.

$ calibre-server calibre-library --port 7654

Passo 5 - Criar um arquivo de serviço systemd

Para tornar o processo do servidor Calibre persistente e sobreviver a reinicializações, você precisa criar um arquivo de serviço systemd para o mesmo.

Crie um arquivo chamado calibre-server.service no diretório /etc/systemd/system/ e abra-o para edição.

$ sudo nano /etc/systemd/system/calibre-server.service

Cole o seguinte código nele.

[Unit]
Description=Servidor Calibre
After=network.target

[Service]
Type=simple
User=
Group=
ExecStart=/opt/calibre/calibre-server /home//calibre-library --enable-local-write

[Install]
WantedBy=multi-user.target

A flag --enable-local-write dá ao servidor acesso de gravação para adicionar novos livros à biblioteca. Isso porque você não pode adicionar livros usando o comando calibredb enquanto o servidor está em execução.

Substitua pelo seu nome de usuário do sistema Linux no código acima. Salve e feche o arquivo pressionando Ctrl+W e digitando Y quando solicitado.

Recarregue o daemon do serviço para ativar o arquivo de serviço.

$ sudo systemctl daemon-reload

Habilite e inicie o serviço Calibre.

$ sudo systemctl enable calibre-server
$ sudo systemctl start calibre-server

Verifique o status do serviço.

$ sudo systemctl status calibre-server
? calibre-server.service - Servidor Calibre
     Loaded: loaded (/etc/systemd/system/calibre-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-07-25 07:23:42 UTC; 15s ago
   Main PID: 1877 (BonJour)
      Tasks: 13 (limit: 2241)
     Memory: 53.3M
        CPU: 762ms
     CGroup: /system.slice/calibre-server.service
             ??1877 /opt/calibre/bin/calibre-server /home//calibre-library --enable-local-write

Jul 25 07:23:42 calibre systemd[1]: Started Servidor Calibre.
Jul 25 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
Jul 25 07:23:42 calibre calibre-server[1877]: servidor calibre ouvindo em 0.0.0.0:8080
Jul 25 07:23:43 calibre calibre-server[1877]: feeds OPDS anunciados via BonJour em: 69.28.84.201 porta: 8080

Passo 6 - Habilitar autenticação de usuário

Você pode adicionar autenticação de usuário ao Calibre para proteger sua biblioteca de estar disponível para qualquer um. Primeiro, pare o servidor Calibre.

$ sudo systemctl stop calibre-server

O Calibre usa um banco de dados SQLite para armazenar credenciais de usuário. Inicie o script de gerenciamento de usuários do Calibre para adicionar um usuário.

$ sudo calibre-server --manage-users

Você receberá quatro opções e será solicitado a sua escolha. Pressione 1 para adicionar um novo usuário e forneça o nome de usuário e a senha para finalizar a adição de um novo usuário.

1) Adicionar um novo usuário
2) Editar um usuário existente
3) Remover um usuário
4) Cancelar

O que você deseja fazer? [1-4]: (Pressione 1)
Digite o nome de usuário: howtoforge
Digite a nova senha para howtoforge:
Reinsira a nova senha para howtoforge, para verificar:
Usuário howtoforge adicionado com sucesso!

Em seguida, você precisa editar o arquivo de serviço para verificar a autenticação. Abra o arquivo para edição.

$ sudo nano /etc/systemd/system/calibre-server.service

Adicione a flag --enable-auth ao final da linha que começa com ExecStart para habilitar a autenticação de usuário.

...
ExecStart=/opt/calibre/calibre-server "/home//calibre-library" --userdb "/home//.config/calibre/server-users.sqlite" --enable-local-write --enable-auth
...

Salve e feche o arquivo pressionando Ctrl+W e digitando Y quando solicitado.

Recarregue o daemon do serviço e inicie o serviço.

$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-server

Se você abrir a URL da biblioteca, será solicitado seu nome de usuário e senha antes de permitir o acesso. Digite suas credenciais e pressione o botão Entrar para acessar a biblioteca.

Prompt de Autenticação do Servidor Calibre

Passo 7 - Adicionar livros automaticamente à biblioteca

O Calibre permite que você adicione livros automaticamente à biblioteca usando um trabalho Cron. Ele faz isso monitorando um diretório em intervalos regulares em busca de novos livros e, em seguida, adicionando-os à biblioteca. Esta é a maneira mais rápida de adicionar livros, onde você pode apenas enviá-los para o diretório e eles aparecerão em breve na biblioteca sem qualquer intervenção manual.

O primeiro passo é criar um diretório de monitoramento.

$ mkdir ~/calibre-watch
$ cd ~/calibre-watch

Baixe o livro Guerra e Paz de Leo Tolstoy para este diretório do Project Gutenberg.

$ wget https://www.gutenberg.org/ebooks/2600.kindle.images -O warandpeace.mobi

Se você notar, desta vez estamos baixando uma versão que tem imagens. Isso varia de livro para livro no Project Gutenberg. Alguns têm versões com imagens disponíveis enquanto outros não. O Calibre funciona bem com qualquer formato.

Abra o editor Crontab.

$ crontab -e

Se esta for a primeira vez que você está usando o Crontab, será solicitado que você escolha um editor.

sem crontab para  - usando um vazio

Selecione um editor. Para mudar depois, execute 'select-editor'.
  1. /bin/nano        <---- mais fácil
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Escolha 1-4 [1]:

Digite 1 para escolher o editor Nano, pois é o mais fácil de operar.

Adicione o seguinte comando ao final do arquivo.

*/5 * * * * calibredb add /home//calibre-watch/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home//calibre-watch/*

Este script adicionará todos os arquivos no diretório /home//calibre-watch à biblioteca calibre e excluirá todos os arquivos originais, pois não são mais necessários. O trabalho acima será executado a cada 5 minutos. Substitua pelo seu nome de usuário do sistema Linux e adicione suas credenciais do Calibre nos locais apropriados.

Salve e feche o arquivo pressionando Ctrl+W e digitando Y quando solicitado. Aguarde alguns minutos e recarregue o site do servidor calibre para ver o livro que você acabou de adicionar aparecer na biblioteca.

Passo 8 - Instalar Nginx

O Ubuntu 22.04 vem com uma versão mais antiga do Nginx. Para instalar a versão mais recente, você precisa baixar o repositório oficial do Nginx.

Importe a chave de assinatura do Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Adicione o repositório para a versão estável do Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

Atualize os repositórios do sistema.

$ sudo apt update

Instale o Nginx.

$ sudo apt install nginx

Verifique a instalação.

$ nginx -v
nginx version: nginx/1.22.0

Passo 9 - Instalar SSL

Neste momento, o Calibre está exposto em uma porta HTTP via um endereço IP. Para melhor segurança, habilitaremos o acesso via um domínio dedicado usando um certificado SSL.

Precisamos instalar o Certbot para gerar o certificado SSL para o Calibre. Você pode instalar o Certbot usando o repositório do Ubuntu ou pegar a versão mais recente usando a ferramenta Snapd. Usaremos a versão Snapd.

O Ubuntu 22.04 vem com o Snapd instalado por padrão. Execute os seguintes comandos para garantir que sua versão do Snapd esteja atualizada.

$ sudo snap install core

Instale o Certbot.

$ sudo snap install --classic certbot

Use o seguinte comando para garantir que o comando Certbot possa ser executado criando um link simbólico para o diretório /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Execute o seguinte comando para gerar um Certificado SSL.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d calibre.example.com

O comando acima fará o download de um certificado para o diretório /etc/letsencrypt/live/calibre.example.com em seu servidor.

Gere um certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Abra o arquivo /etc/letsencrypt/renewal/calibre.example.com.conf para edição.

$ sudo nano /etc/letsencrypt/renewal/calibre.example.com.conf

Cole o seguinte código na parte inferior.

pre_hook = systemctl stop nginx
post_hook = systemctl start nginx

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Geramos o certificado SSL usando a opção standalone do Certbot. Ele executa seu servidor web para criar o certificado, o que significa que o Nginx deve ser desligado durante a renovação. Os comandos pre_hook e post_hook são executados antes e depois da renovação para desligar e reiniciar automaticamente o servidor Nginx, exigindo assim nenhuma intervenção manual.

Para verificar se a renovação do SSL está funcionando bem, faça um teste do processo.

$ sudo certbot renew --dry-run

Se você não ver erros, está tudo pronto. Seu certificado será renovado automaticamente.

Passo 10 - Configurar Nginx

Abra o arquivo /etc/nginx/nginx.conf para edição.

$ sudo nano /etc/nginx/nginx.conf

Adicione a seguinte linha antes da linha include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Crie e abra o arquivo /etc/nginx/conf.d/calibre.conf para edição.

$ sudo nano /etc/nginx/conf.d/calibre.conf

Cole o seguinte código nele. Substitua calibre.example.com pelo seu nome de domínio. Definimos o valor da variável client_max_body_size para 50MB. Você pode alterá-lo conforme suas necessidades.

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    http2_push_preload on; # Habilitar HTTP/2 Server Push
    
    # Habilitar 0-RTT do TLSv1.3. Use $ssl_early_data ao fazer proxy reverso para
    # evitar ataques de repetição.
    #
    # @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
    ssl_early_data on;

    server_name calibre.example.com;

    client_max_body_size 50M;

    access_log  /var/log/nginx/calibre.access.log;
    error_log   /var/log/nginx/calibre.error.log;

    ssl_certificate      /etc/letsencrypt/live/calibre.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/calibre.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/calibre.example.com/chain.pem;
    
    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;        
    }
}
# forçar HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name  calibre.example.com;
    return 301   https://$host$request_uri;
}

Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.

Verifique sua configuração do Nginx.

$ sudo nginx -t

Reinicie o servidor Nginx para habilitar os arquivos de configuração.

$ sudo systemctl restart nginx

Visite https://calibre.example.com em seu navegador para acessar o Calibre. Você pode ver que o livro adicionado via Cron também está disponível na biblioteca.

Atualização da Biblioteca Calibre

Conclusão

Isso conclui nosso tutorial sobre como instalar o Servidor Calibre em uma máquina Ubuntu 22.04 usando o Nginx. Também configuramos o Calibre para habilitar a autenticação básica e adicionar suporte para adicionar novos livros automaticamente. O Servidor Calibre vem com muitas ferramentas de linha de comando. Para saber mais sobre elas, você pode visitar a Documentação do Calibre. Se você tiver alguma dúvida, poste nos comentários abaixo.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.