257 - Leyendo tus noticias RSS con Miniflux

PodcastPodcast

257 - Leyendo tus noticias RSS con Miniflux

¿Como estar perfectamente informado al margen de las redes sociales? Utiliza un agregador de noticias RSS con Miniflux o cualquier otro .

1:25
-3:15

Como ya te he comentado en alguna que otra ocasión, la forma que tengo de estar al día de lo que sucede en el mundo Linux, es básicamente a través de RSS. Es donde mas información encuentro. Y no solo se trata de la cantidad, sino también de la calidad de la misma. No solo se trata de seguir blogs, se trata de seguir cualquier tipo de medio. Y es que, teniendo en cuenta, que el 40% de las páginas que ves en internet, están sobre WordPress, y el RSS, viene de caja no tienes porque perder nada de lo que suceda. Por supuesto que siempre tienes la inmediatez de medios con Twitter. Sin embargo, al finalizar el día, una de los ratos mas placenteros para mi, es repasar mis RSS, en busca de esa perla de información, ese artículo, ese repositorio de GitHub. Esto me ha llevado a actualizar mi servidor RSS, reemplazando a Tiny Tiny RSS por Miniflux 2.

Probablemente, tu eres mas de Twitter o de Mastodon, o de cualquier otra red social. Y aunque es un paso, porque tu eliges a quien seguir o no seguir, y por lo tanto lo que lees, es mas o menos curado, teniendo tu propio servidor RSS, desde luego que la selección es totalmente tuya.

Noticias RSS con Miniflux

Leyendo tus noticias RSS con Miniflux

¿Porque tener tu propio RSS con Miniflux o con otro?

Evidentemente, que la primera cabeza que te viene a la cabeza es ¿porque tener tu propio servidor RSS con Minuflux o con otro servidor?Y no solo esto, sino también ¿cuando vale la pena tener tu propio servidor RSS?

Hasta hace unos años nunca me habría planteado tener mi propio servidor RSS. Es mas, probablemente ahora tampoco lo tendría, si el VPS donde lo tengo alojado no lo tuviera con una docena de servicios mas. Sin embargo, ya que tengo el servidor en marcha, ¿porque no tener mi propio servicio de RSS? Creo que si ahora no tuviera ese VPS, no tendría tampoco el servicio de RSS. Por esta razón, a la pregunta de ¿Cuando tener un servicio de RSS con Minflux? ya tienes la respuesta.

Y ¿porque tener un servicio de RSS? Pues esto, un poco, te lo he adelantado en la introducción. Se trata de que tu tienes el control sobre los canales de información. Lo que realmente te interesa y cuando quieres estar informado. Todo bajo tu paraguas. Tampoco tienes el sentimiento de urgencia que en ocasiones imponen las redes sociales. Todo depende de ti.

¿Porque cambio de Tiny Tiny RSS a Minflux 2?

Hace unos días, revisando la aplicación que utilizo para consumir RSS en el móvil, me di cuenta, que el servidor de RSS lo tenía alojado en un VPS diferente al que utilizo habitualmente. Así que pensé en migrarlo al VPS habitual.

En este sentido, ya que me planteaba esto de migrar de uno a otro, pensé igualmente, en porque no cambiar también el servicio en probar otro. Y es que con esta revolución que ha supuesto Go en todo este tipo de aplicaciones, me hizo pensar, que seguramente existiría uno servicio RSS. Efectivamente así podía tener RSS con Go, RSS con Miniflux.

No es que Tiny Tiny RSS fuera mal, ni mucho menos, salvo errores puntuales, en los que se ha caído el cron, en general, siempre ha funcionado de maravilla. Pero, ya era hora de probar otros servicios.

¿Que es Miniflux?

Miniflux es un software eminentemente minimalista. El objetivo de esta aplicación es leer feeds, leer RSS, nada mas.

La razón de este minimalismo es totalmente práctica. Tener cientos y cientos de características hace que el software sea difícil y costoso de mantener, y por supuesto hace que aumente considerablemente los posibles errores.

Si lees lo que los desarrolladores dicen de su propio software es,

Este software no trata de satisfacer las necesidades de nadie

Con esto ya lo dicen todo. Pero la cosa no queda ahí. Además, lo siguiente que plantean es ¿porque el interfaz es tan fea? Y la respuesta es tan prometedora como la anterior. El diseño de Miniflux, está optimizado para escanear las entradas de forma rápida. Así, está inspirada en otras herramientas que dan por hecho tienen el comportamiento indicado.

Si como te he dicho, esta herramienta no tiene grandes características, tampoco pienses que si le pides al desarrollador que implemente una nueva característica, este la va a hacer, porque nada mas lejos de la realidad. Tal y como el mismo dice,

Desarrollar software se lleva mucho tiempo. No esperes que nadie trabaje gratis. Mejorar las características existentes es mucho mas importante que añadir nuevas características.

Implementado en Go

Como ya he comentado en alguna que otra ocasión, el objetivo para este año ha sido aprender Rust, y sin embargo, cada vez veo mas herramientas implementadas en Go, lo que me hace plantearme una y otra vez, si no me habré equivocado al elegir el lenguaje de programación… Creo que no.

En este caso, el propio desarrollador de esta aplicación da su propia justificación de porque a elegido este lenguaje para implementar este servicio,

Go es un lenguaje de programación simple
La ejecución concurrente es parte intrínseca del lenguaje
Es mas rápido que un lenguaje de scripting como PHP o Python
La aplicación final es un binario compilado estáticamente sin dependencias externas
Solo tienes que dejar caer el ejecutable en tu servidor para desplegar la aplicación
No te tienes que preocupar porque versión de PHP o Python está corriendo en la máquina donde vas a desplegar tu aplicación.

PostgreSQL

Una de las cuestiones características de Miniflux 2 es que trabaja con PostgreSQL, única y exclusivamente. De nuevo la razón para esto la vas a encontrar en la simplicidad. Dar la posibilidad de trabajar con varias bases de datos, lo único que va a suponer es un incremento de la complejidad de la aplicación.

Sin embargo, no te tienes que preocupar por depender única y exclusivamente de PostreSQL, por que esta base de datos es toda una roca, una base de datos muy establecida, y Miniflux exprime muchas de las interesantes características.

Sobre JavaScript

Otra interesante característica que me ha llamado la atención y que resaltan los propios desarrolladores de la aplicación es que no utiliza ningún framework JavaScript. La razón que ofrece es que Miniflux utiliza JavaScript únicamente donde es necesario, y de nuevo, sostiene esta decisión en la simplicidad del software construido, cuantas menos dependencias, mas sencillo de mantener.

Así, solo utiliza ECMAScript 6 y la API Fetch, algo que está ampliamente soportado por la mayoría de los navegadores actuales. El único que no lo soporta es Internet Explorer, pero, actualmente a quien le importa esto.

¿Y la aplicación móvil?

No, Miniflux no tiene una aplicación móvil. Los desarrolladores lo dejan de lado en pro de que utilices la propia interfaz web. Al fin y al cabo se trata de una web app y una aplicación web progresiva, tampoco es tan malo. La aplicación se adapta al tamaño de la pantalla desde donde estás utilizando la aplicación. Puedes añadir la aplicación a la pantalla de inicio como cualquier otra aplicación, con lo que para que mas.

Para añadir Miniflux, tan solo tienes que seleccionar la opción Añadir a pantalla de inicio desde Chrome, y ya la tendrás instalada, como si de cualquier otra aplicación se tratara.

Según los desarrolladores, es posible utilizar gestos para cambiar el estado de cada una de las entradas. Sin embargo, yo no he tenido suerte y no he conseguido hacerlo y esto es algo que realmente si que me vendría bien. Vaya realmente esto es algo que utilizo de forma habitual para navegar entre las entradas y lo que me permite navegar entre decenas de noticias entre relativo poco tiempo.

Características de Miniflux

Miniflux a pesar de ser una aplicación tan sumamente minimalista viene con una serie de características realmente interesantes y que pueden hacerte decantarte por esta solución para gestionar todos tus RSS.

  • Soporta diferentes formatos de feed, los mas habituales, Atom, RSS 1.0/2.0, RDF y JSON.
  • Permite importar y exportar archivos y URL con formato OPML. Esto es imprescindible si quieres pasar de un servicio a otro.
  • Soporta diferentes de adjuntos, imágenes, audio, vídeo. Vamos que puedes escuchar atareao con Linux directamente aquí, sin necesidad de nada mas.
  • Igualmente, es capa de reproducir vídeos de Canales de YouTube directamente desde Miniflux.
  • Admite tanto categorías como marcadores.
  • Permite guardar los artículos en servicios de terceros.

Respecto a la privacidad

  • Está disponible en diferentes idiomas
  • Es capaz de quitar los pixel de traqueo
  • En el caso de que provenga de FeedBurner, Miniflux obtiene el feed original
  • Bloque JavaScript externo

En cuanto al contenido, no lo sirve directamente sino que hace un tratamiento sobre él

Respecto a las integraciones con otros servicios,

  • permite enviar los artículos a otros servicios como Pinboard, Instapaper, Pocket, Wallabag o Nunux Keeper.
  • Ofrece Fever API, con lo que puedes integrarlo con otras aplicaciones. En concreto, yo la estoy utilizando con una aplicación móvil que te contaré mas adelante.

No quiero dejar de comentar que Miniflux tiene soporte para atajos de teclado. En mi caso como habitualmente utilizo Vimium, he tenido que desactivarlo en esta página para poder utilizarlo desde el navegador.

Instalación

Puedes montar tu agregador de noticias RSS con Miniflux, sobre cualquier sistema operativo que soporte Golang, pero donde mas probado está es Linux. Por supuesto además de Golang, también necesitarás PostgreSQL como te he comentado.

En mi caso, yo he utilizado Docker y Traefik para levantar este servicio junto con el resto de servicios que tengo actualmente en funcionamiento.

Indicarte que estoy utilizando la versión 2.4 de Traefik, y el docker-compose es el siguiente,

version: '3'

services:
  miniflux:
    image: miniflux/miniflux:latest
    container_name: miniflux
    restart: unless-stopped
    networks:
      - proxy
      - internal
    environment:
      - DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
      - RUN_MIGRATIONS=1
      - CREATE_ADMIN=1
      - ADMIN_USERNAME=usuario
      - ADMIN_PASSWORD=contraseña
      - BASE_URL=https://miniflux.tuservidor.es
      - ROOT_URL=https://miniflux.tuservidor.es
      - CLEANUP_ARCHIVE_READ_DAYS=30
      - CLEANUP_ARCHIVE_UNREAD_DAYS=360
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.miniflux.entrypoints=http"
      - "traefik.http.routers.miniflux.rule=Host(`miniflux.tuservidor.es`)"
      - "traefik.http.middlewares.miniflux-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.miniflux.middlewares=miniflux-https-redirect"
      - "traefik.http.routers.miniflux-secure.entrypoints=https"
      - "traefik.http.routers.miniflux-secure.rule=Host(`miniflux.tuservidor.es`)"
      - "traefik.http.routers.miniflux-secure.tls=true"
      - "traefik.http.routers.miniflux-secure.tls.certresolver=myresolver"
  db:
    image: postgres:latest
    container_name: postgresql_miniflux
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=secret
    volumes:
      - miniflux-db:/var/lib/postgresql/data
    networks:
      - internal

volumes:
  miniflux-db:

networks:
  internal:
  proxy:
    external: true

FeedMe y RSS con Miniflux

Hasta el momento estaba utilizando la aplicación de Tiny Tiny RSS en el móvil para leer las noticias, pero al cambiar de servidor, esta ya no la puedo utilizar.

¿Porque utilizar un cliente RSS si es una progressive web app? Por la sencilla razón de que mi forma de navegar es utilizar gestos. Esto me permite revisar las noticias de forma realmente rápida, con lo que para mi es algo realmente imprescindible.

¿Porque no simplemente utilizar un archivo OPML? La gracia de utilizar un servidor RSS es que tienes toda tu información centralizada en un punto y la consumas desde donde la consumas sabes que consumiste y que no…


Más información,

Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *