Bluesky, Mastodon, Telegram e RSS

Hospedando um blog (ou site estático) no Fastmail

No feriado prolongado, dei um trato no meu blog e aproveitei o embalo para migrá-lo do GitHub Pages para o Fastmail — um serviço de e-mail que oferece alguns giga bytes de espaço em nuvem que pode ser usado para hospedar sites estáticos.

O Fastmail é uma das empresas parceiras do Clube de Descontos do Manual!

Boa parte da minha experiência com geradores de sites estáticos (SSG, na sigla em inglês) se limitava ao GitHub Pages e Jekyll. Lá, você faz commit do projeto e o próprio GitHub gera o site e publica as alterações. Funciona, é até mais fácil, mas não é a única maneira de lidar com SSGs.

No meu caso/do Fastmail, eu gero o site localmente e sincronizo/atualizo a versão online.

Para gerar a nova versão do site é bem simples. Basta digitar no terminal:

jekyll build

Por padrão, o Jekyll gera o site no diretório _site. É essa que precisamos sincronizar com o diretório no Fastmail. Para fins didáticos, digamos que seja /blog.

Essa sincronia pode ser feita manualmente, mas… né, demora e é chato. Melhor fazermos isso pelo terminal mesmo. Para tanto, recorri ao rclone.

Depois de configurar o Fastmail no rclone e gerar o site no Jekyll, dou este comando:

rclone -v --progress --delete-excluded --checksum --exclude ".*{/**,}" sync ~/Jekyll/_site/ fastmail:rodrigo.ghed.in/files/blog/

O parâmetro --checksum evita que o rclone reenvie arquivos que não sofreram alterações.

Na última parte — o local de destino da sincronia — traz o “remote” de destino (o Fastmail, que aqui batizei de fastmail:) e o endereço (que, no Fastmail, usa como caminho o seu login/e-mail com ponto final no lugar da @, e /files, ficando: seu.email.com/files/).

E… é isso. Dá para criar vários sites e servi-los assim, de modo estático, sem custo extra. Também dá para replicar esse fluxo em outros lugares que permitem hospedar sites estáticos, como o Codeberg Pages e o próprio GitHub Pages.