Fazer deploy do miniflux com fly.io

← ← ←   10/08/2023, 13:51:35 | Posted by: Daniel Tolentino


Miniflux: Configuração Simples com fly.io

Após ter tomado conhecimento do PC do Manual (https://pcdomanual.com/), eu fiquei intrigado com o Miniflux. Pareceu-me o serviço perfeito que eu estava procurando há muito tempo. A galera do Manual tem o próprio servidor, o que é bem legal. Eu recomendo apoiar (https://manualdousuario.net/apoie/) eles e usar o serviço do Manual. Mas eu queria algo mais simples, que eu pudesse usar em qualquer lugar e que fosse fácil de instalar e manter.

Então, após pensar em alternativas de hospedagem (já tenho alguns serviços como Adguard e Nextcloud), eu queria chegar na solução mais simples, e foi o fly.io e o tier gratuito (mais do que o suficiente para o Miniflux).

Indo direto ao ponto, aqui está o que eu fiz:

Aqui está o repositório: https://github.com/DanielTolentino/miniflux-flyio

Para começar:

  1. Faça o clone do repositório
  2. Instale a ferramenta flyctl (https://fly.io/docs/hands-on/install-flyctl/)
  3. Defina o segredo ADMIN_PASSWORD com o comando flyctl secrets set ADMIN_PASSWORD=sua_senha
  4. Execute o comando flyctl launch e siga os passos
  5.   
        $ Would you like to set up a Postgresql database now? Yes 
        $ Select configuration: Development - Single node, 1x shared CPU, 256MB RAM, 1GB disk
        $ Scale single node pg to zero after one hour? No (fica a seu critério)
        $Would you like to set up an Upstash Redis database now? No 
        Wrote config file fly.toml 
        $ Would you like to deploy now? Yes 
      
      

    O fly.io vai gerar automaticamente a url do banco de dados e sua secret para funcionar no docker, de forma segura.

  6. Rode o comando $fly deploy Ele vai subir a aplicação em um endereço como maquina-123.fly.dev
  7. Vá no Cloudflare e crie um registro do tipo CNAME apontando para o endereço do Fly.io com o endereço da sua aplicação (maquina-123.fly.dev) e desative o proxy, deixando apenas como DNS Only
  8. Volte no terminal e rode o comando flyctl certs create seudominio.com.br

Automaticamente, o Fly.io irá gerar o certificado HTTPS e o serviço estará disponível para acesso via navegador direto do seu domínio personalizado.