Cómo autoalojar un lector RSS con FreshRSS

Una fotografía de un portátil sobre una mesa dentro de un café.

FreshRSS es un lector de feeds RSS basado en la web, simple y fácil de implementar para servidores Linux. Similar a Tiny Tiny RSS, funciona proporcionando una interfaz limpia y multiplataforma a la que puedes acceder desde tu navegador web.

Este artículo te mostrará cómo instalar FreshRSS en Ubuntu. También destacaremos cómo puedes configurar el lector para una sesión de múltiples usuarios.

Tabla de Contenidos

  • ¿Por qué FreshRSS?
  • Instalando FreshRSS
  • Configurando Proxy Inverso y SSL
  • Accediendo y Configurando FreshRSS

¿Por qué FreshRSS?

Uno de los mayores puntos de venta de FreshRSS es que viene con un scraper web integrado. Esto significa que puedes crear feeds RSS básicos incluso en sitios web que no lo soportan.

Una captura de pantalla que muestra la herramienta de scraping web de FreshRSS.

FreshRSS también soporta notificaciones push en plataformas de contenido modernas. Como resultado, la plataforma puede ser increíblemente rápida y reactiva a las actualizaciones de publicaciones. Por último, también es simple de instalar, lo que lo convierte en un proyecto ideal para usuarios novatos que recién comienzan con el autoalojamiento.

Una captura de pantalla que muestra una instancia de FreshRSS completamente en funcionamiento.

Instalando FreshRSS

Suposición: Este artículo asume que tienes un nombre de dominio funcional con un registro A y PTR apuntando a la dirección IP y nombre de host de tu instancia VPS.

Usaremos Docker para instalar FreshRSS.

Instalar Docker

Obtén la clave de firma del repositorio de Docker desde el sitio web del proyecto:

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

Crea un nuevo archivo de repositorio para Docker:

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

Escribe la siguiente línea de código dentro de tu nuevo archivo de repositorio:

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

Actualiza tus repositorios del sistema, actualiza tu sistema e instala los binarios de Docker:

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

Construyendo el Contenedor Docker de FreshRSS

Crea un nuevo directorio en el directorio home de tu usuario para FreshRSS y entra en él:

mkdir ~/freshrss &&cd ~/freshrss

Crea un archivo “docker-compose.yml” usando tu editor de texto favorito:

nano ./docker-compose.yml

Pega el siguiente bloque de código dentro de tu nuevo archivo 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 # CAMBIA A TU ZONA HORARIA  
      CRON_MIN: 3,33

Guarda tu archivo docker-compose.yml. Ejecuta el siguiente comando para construir tu contenedor docker:

sudodocker compose up -d

Configurando Proxy Inverso y SSL

Una vez que la instancia de FreshRSS esté en funcionamiento, a continuación configuraremos Nginx para hacer un proxy inverso para que puedas acceder a ella públicamente a través de tu nombre de dominio.

Para empezar, crea un archivo de configuración del sitio Nginx para tu instancia:

sudonano/etc/nginx/sites-available/freshrss

Pega el siguiente bloque de código dentro de tu nuevo archivo de configuración del sitio:

server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             freshrss.tu-nombre-de-dominio.aquí;  
  
    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;  
}  
}

Guarda tu nuevo archivo de configuración del sitio y ejecuta el siguiente comando para crear un enlace simbólico a “/etc/nginx/sites-enabled”:

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

Prueba tu configuración de Nginx:

sudo nginx -t

Si todo está bien, recarga el demonio del servidor Nginx y habilítalo en el inicio del sistema:

sudo systemctl reload nginx

Habilitando SSL Para Tu Instancia

Para obtener un certificado SSL, instala el daemon core snap en tu sistema:

sudo snap install core

Obtén e instala la utilidad certbot de la Electronic Frontier Foundation (EFF) usando snap:

sudo snap install certbot --classic

Registra tu instalación de certbot en la EFF ejecutando el siguiente comando:

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

Solicita un certificado SSL para tu instancia ejecutando el siguiente comando:

sudo certbot --nginx-d tu-nombre-de-dominio-freshrss

Accediendo y Configurando FreshRSS

Abre un navegador web y navega a la dirección de tu nueva instancia de FreshRSS. Haz clic en la lista desplegable en la página y selecciona el idioma en el que deseas que FreshRSS funcione, luego haz clic en “Enviar.”

Una captura de pantalla que muestra el aviso de selección de idioma para FreshRSS.

Hacer eso cargará el módulo de autoevaluación de FreshRSS que verificará si la instancia actual está funcionando correctamente. Para continuar, desplázate hacia abajo hasta el final de la página, luego haz clic en “Ir al siguiente paso.”

Una captura de pantalla que muestra el aviso de verificación de dependencias.

Haz clic en la lista desplegable, selecciona “SQLite” y luego haz clic en “Enviar.”

Una captura de pantalla que muestra el aviso de selección de base de datos.

Completa los detalles del usuario administrador de tu instancia y luego haz clic en “Enviar” para crearlo.

Una captura de pantalla que muestra los detalles del usuario administrador para esta instancia.

Haz clic en “Completar instalación” para iniciar correctamente tu nueva instancia de FreshRSS.

Habilitando el Registro de Usuarios

Para empezar, inicia sesión en tu cuenta de administrador de FreshRSS, luego haz clic en el ícono de engranaje en la esquina superior derecha de la página.

Una captura de pantalla que resalta el botón de configuración para FreshRSS.

Desplázate a la categoría “Administración”, luego selecciona “Configuración del sistema.”

Ve a la subcategoría “Formulario de registro de usuarios”, haz clic en el cuadro desplegable junto a “Formulario de registro”, luego selecciona la opción “Habilitado: Sin límite de cuentas.”

Una captura de pantalla que muestra el interruptor de registro para la instancia de FreshRSS.

Guarda tu nueva configuración del sitio haciendo clic en el botón “Enviar” en la parte inferior de la página.

Borrando los Datos de un Usuario Existente

Ve a tu cuenta de administrador de FreshRSS, luego haz clic en el ícono de engranaje en la esquina superior derecha de la página.

Ve a la categoría “Administración”, luego selecciona “Gestionar usuarios.”

Esto mostrará una página con una lista de los usuarios actuales en tu instancia de FreshRSS. Haz clic en el nombre del usuario que deseas deshabilitar.

Una captura de pantalla que resalta el nombre de usuario clickeable dentro del aviso de gestión de usuarios.

Haz clic en el botón “Purgar” para borrar los feeds RSS del usuario.

Una captura de pantalla que resalta el botón

Alojar tu propio lector de feeds RSS basado en la web es solo el comienzo de tomar el control de tus datos personales en línea. Aprende cómo puedes alojar tu propio sitio web de intercambio de videos con Peertube.

Crédito de la imagen: Yongma Seo a través de Unsplash y FreshRSS Github (Logo). Todas las alteraciones y capturas de pantalla por Ramces Red.