Por qué autoalojar FreshRSS en un VPS
FreshRSS es un agregador de feeds RSS/Atom escrito en PHP, diseñado para ser discreto en recursos y gestionar al mismo tiempo miles de artículos. El self-hosting en un VPS resuelve tres problemas que los servicios cerrados no abordan: la perdurabilidad (su vigilancia no desaparece de un día para otro), la confidencialidad (nadie perfila sus suscripciones) y la frescura (usted define la frecuencia de actualización mediante cron, sin cuota impuesta). Un VPS, a diferencia de un alojamiento compartido, le da un acceso SSH completo, el derecho a lanzar un contenedor Docker y a programar tareas: exactamente lo que FreshRSS necesita para actualizar los feeds en segundo plano.
Ventajas concretas de FreshRSS autoalojado
- API nativa compatible con Fever y Google Reader: sincronice con Reeder, FeedMe o Fluent Reader en el móvil.
- Extensión GReader / scraping: recupere el contenido completo de los artículos truncados gracias a los filtros XPath.
- Multiusuario con cuotas por cuenta: ideal para compartir una instancia dentro de una agencia.
- Huella de memoria mínima (de 200 a 300 MB): funciona sin inmutarse en el más pequeño de los VPS.
- Actualización controlada por cron: usted decide si los feeds se actualizan cada 5 minutos o cada hora.
- Copia de seguridad trivial: una base SQLite/MySQL y una carpeta de datos bastan para restaurarlo todo.
Requisitos técnicos
FreshRSS es una de las aplicaciones más frugales del self-hosting. Cuente 1 vCPU y 1 GB de RAM para una instancia personal con unos pocos usuarios; 10 GB de disco bastan de sobra, ya que lo esencial lo ocupa el historial de artículos. En cuanto al software: Docker y el plugin Docker Compose instalados en el VPS, un nombre de dominio (o un subdominio del tipo rss.sudominio.com) apuntado con un registro A a la IP del servidor, y el puerto 80/443 abierto para el reverse proxy. No hace falta instalar PHP en el host: la imagen oficial freshrss/freshrss lo incluye todo.
Desplegar FreshRSS paso a paso
Preparar el VPS y Docker
Conéctese por SSH, actualice el sistema e instale Docker:
curl -fsSL https://get.docker.com | sh. Compruébelo condocker compose version. Cree una carpeta de proyectomkdir -p /opt/freshrss && cd /opt/freshrss.Escribir el docker-compose.yml
Defina un servicio a partir de la imagen
freshrss/freshrss:latest, monte dos volúmenes (./data:/var/www/FreshRSS/datay./extensions:/var/www/FreshRSS/extensions) y fijeCRON_MIN=*/20para actualizar los feeds cada 20 minutos. Exponga el puerto interno 80 únicamente hacia el reverse proxy, no hacia el exterior.Arrancar el contenedor
Arranque la stack con
docker compose up -dy siga después la inicialización condocker compose logs -f. El contenedor aplica las migraciones y crea la estructura de datos en el primer arranque.Poner en marcha el reverse proxy y el SSL
Coloque un reverse proxy (Caddy o Nginx Proxy Manager) delante de FreshRSS. Con Caddy bastan dos líneas:
rss.sudominio.com { reverse_proxy freshrss:80 }, y el certificado Let's Encrypt se obtiene y se renueva automáticamente.Finalizar la instalación web
Abra
https://rss.sudominio.com, elija el backend de base de datos (SQLite para un uso personal, MySQL/PostgreSQL para varios usuarios), cree la cuenta de administrador y active la API en Perfil para la sincronización móvil.Importar sus feeds y fiabilizar el cron
Importe su OPML existente desde el lector anterior. Compruebe que la tarea interna funciona con
docker compose exec freshrss ./cli/actualize.php, lanzado manualmente una primera vez para validar la recuperación de los artículos.
Para los sitios que solo publican un extracto en su feed, instale la extensión oficial «FreshRSS Content Selector»: configure un selector CSS (por ejemplo, article.post-content) por suscripción y FreshRSS irá a buscar el texto íntegro en cada actualización. Combínela con la extensión de filtros para ocultar automáticamente los artículos patrocinados detectados por palabra clave.
Caso de uso: vigilancia tecnológica para desarrolladores
Añada los feeds de GitHub releases de cada dependencia de su proyecto (https://github.com/<owner>/<repo>/releases.atom), el feed de Hacker News (https://news.ycombinator.com/rss), los blogs de los principales mantenedores de su ecosistema y los feeds CVE de su runtime y de su sistema operativo.
FreshRSS entrega la línea de tiempo en bruto, sin ordenación algorítmica y sin publicaciones patrocinadas. Cree una regla de marcado automático: todo artículo que contenga «security advisory» o «breaking change» recibe una estrella y desencadena una notificación ntfy en su teléfono. Obtiene la señal, sin el ruido de las plataformas sociales.