Como Auto-Hospedar um Leitor de RSS com FreshRSS

Uma fotografia de um laptop em uma mesa dentro de um café.

FreshRSS é um leitor de feeds RSS baseado na web, simples e fácil de implantar, para servidores Linux. Semelhante ao Tiny Tiny RSS, ele funciona fornecendo uma interface limpa e multiplataforma que você pode acessar pelo seu navegador.

Este artigo mostrará como instalar o FreshRSS no Ubuntu. Também destacaremos como você pode configurar o leitor para uma sessão multiusuário.

Índice

  • Por que FreshRSS?
  • Instalando o FreshRSS
  • Configurando Proxy Reverso e SSL
  • Acessando e Configurando o FreshRSS

Por que FreshRSS?

Um dos maiores pontos de venda do FreshRSS é que ele vem com um scraper web embutido. Isso significa que você pode criar feeds RSS básicos mesmo em sites que não o suportam.

Uma captura de tela mostrando a ferramenta de scraping web do FreshRSS.

O FreshRSS também suporta notificações push em plataformas de conteúdo modernas. Como resultado, a plataforma pode ser incrivelmente rápida e reativa a atualizações de postagens. Por último, também é simples de instalar, o que o torna um projeto ideal para usuários novatos que estão apenas começando com auto-hospedagem.

Uma captura de tela mostrando uma instância do FreshRSS totalmente em funcionamento.

Instalando o FreshRSS

Pressuposto: Este artigo pressupõe que você tenha um nome de domínio funcional com um registro A e PTR apontando para o endereço IP e nome do host da sua instância VPS.

Usaremos o Docker para instalar o FreshRSS.

Instalar Docker

Busque a chave de assinatura do repositório Docker no site do projeto:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Crie um novo arquivo de repositório para o Docker:

sudonano/etc/apt/sources.list.d/docker.list

Escreva a seguinte linha de código dentro do seu novo arquivo de repositório:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Atualize seus repositórios do sistema, atualize seu sistema e instale os binários do Docker:

sudo apt update &&sudo apt upgrade  
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Construindo o Contêiner Docker do FreshRSS

Crie um novo diretório no diretório home do seu usuário para o FreshRSS e entre nele:

mkdir ~/freshrss &&cd ~/freshrss

Crie um arquivo “docker-compose.yml” usando seu editor de texto favorito:

nano ./docker-compose.yml

Cole o seguinte bloco de código dentro do seu novo arquivo docker-compose:

---  
version: "2.4"  
volumes:  
  data: null  
  extensions: null  
services:  
  freshrss:  
    image: freshrss/freshrss:latest  
    build:  
      context: https://github.com/FreshRSS/FreshRSS.git#latest  
      dockerfile: Docker/Dockerfile-Alpine  
    container_name: freshrss  
    hostname: freshrss  
    restart: unless-stopped  
    logging:  
      options:  
        max-size: 10m  
    volumes:  
      - data:/var/www/FreshRSS/data  
      - extensions:/var/www/FreshRSS/extensions  
    ports:  
      - "8080:80"  
    environment:  
      TZ: Asia/Manila # MUDE PARA O SEU FUSO HORÁRIO  
      CRON_MIN: 3,33

Salve seu arquivo docker-compose.yml. Execute o seguinte comando para construir seu contêiner docker:

sudodocker compose up -d

Configurando Proxy Reverso e SSL

Uma vez que a instância do FreshRSS esteja em funcionamento, em seguida, configuraremos o Nginx para fazer um proxy reverso para que você possa acessá-lo publicamente através do seu nome de domínio.

Para começar, crie um arquivo de configuração de site do Nginx para sua instância:

sudonano/etc/nginx/sites-available/freshrss

Cole o seguinte bloco de código dentro do seu novo arquivo de configuração de site:

server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             freshrss.seu-nome-de-dominio.aqui;  
  
    location /{  
        proxy_set_header    X-Forwarded-For $remote_addr;  
        proxy_set_header    Host $http_host;  
        proxy_set_header    X-Forwarded-Proto $scheme;  
        proxy_pass          http://localhost:8080;  
}  
}

Salve seu novo arquivo de configuração de site e execute o seguinte comando para criar um link simbólico para “/etc/nginx/sites-enabled”:

sudoln-s/etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/

Teste sua configuração do Nginx:

sudo nginx -t

Se tudo estiver bem, recarregue o daemon do servidor Nginx e habilite-o na inicialização do sistema:

sudo systemctl reload nginx

Habilitando SSL Para Sua Instância

Para obter um certificado SSL, instale o daemon core snap em seu sistema:

sudo snap install core

Busque e instale a ferramenta certbot da Electronic Frontier Foundation (EFF) usando snap:

sudo snap install certbot --classic

Registre sua instalação do certbot na EFF executando o seguinte comando:

sudo certbot register --agree-tos-m [email protected]

Solicite um certificado SSL para sua instância executando o seguinte comando:

sudo certbot --nginx-d seu-nome-de-dominio-freshrss

Acessando e Configurando o FreshRSS

Abra um navegador da web e navegue até o endereço da sua nova instância do FreshRSS. Clique na lista suspensa na página e selecione o idioma que você deseja que o FreshRSS execute, em seguida, clique em “Enviar.”

Uma captura de tela mostrando o prompt de seleção de idioma para o FreshRSS.

Fazendo isso, o módulo de auto-teste do FreshRSS será carregado, que verificará se a instância atual está funcionando corretamente. Para continuar, role até o final da página e clique em “Ir para o próximo passo.”

Uma captura de tela mostrando o prompt de verificação de dependências.

Clique na lista suspensa, selecione “SQLite” e clique em “Enviar.”

Uma captura de tela mostrando o prompt de seleção de banco de dados.

Preencha os detalhes do usuário administrador da sua instância e clique em “Enviar” para criá-lo.

Uma captura de tela mostrando os detalhes do usuário administrador para esta instância.

Clique em “Completar instalação” para iniciar corretamente sua nova instância do FreshRSS.

Habilitando Registro de Usuários

Para começar, faça login na sua conta de administrador do FreshRSS e clique no ícone de engrenagem no canto superior direito da página.

Uma captura de tela destacando o botão de configurações para o FreshRSS.

Role até a categoria “Administração” e selecione “Configuração do sistema.”

Vá para a subcategoria “Formulário de registro de usuário”, clique na caixa suspensa ao lado de “Formulário de registro”, e selecione a opção “Habilitado: Sem limite de contas.”

Uma captura de tela mostrando o botão de alternância de registro para a instância do FreshRSS.

Salve sua nova configuração de site clicando no botão “Enviar” na parte inferior da página.

Limpando os Dados de um Usuário Existente

Vá para sua conta de administrador do FreshRSS e clique no ícone de engrenagem no canto superior direito da página.

Vá para a categoria “Administração” e selecione “Gerenciar usuários.”

Isso abrirá uma página com uma lista dos usuários atuais na sua instância do FreshRSS. Clique no nome do usuário que você deseja desativar.

Uma captura de tela destacando o nome do usuário clicável dentro do prompt de gerenciamento de usuários.

Clique no botão “Purgar” para limpar os feeds RSS do usuário.

Uma captura de tela destacando o botão

Hospedar seu próprio leitor de feeds RSS baseado na web é apenas o começo de assumir seus dados pessoais online. Aprenda como você pode hospedar seu próprio site de compartilhamento de vídeos com o Peertube.

Créditos da imagem: Yongma Seo via Unsplash e FreshRSS Github (Logo). Todas as alterações e capturas de tela por Ramces Red.