Disfruta conmigo de Linux y del Open Source. Aquí encontrarás como sacarle el máximo partido a tu entorno de escritorio Linux, hasta como montar un servidor web, un WordPress, un proxy inverso, una base de datos o cualquier otro servicio que puedas imaginar. Y todo ello, lo puedes montar en una Raspberry Pi, en un VPS, en tu propio ordenador o en cualquier servidor. Vamos, cualquier cosa que quieras hacer con Linux, seguro, seguro, que la encontrarás aquí.
ATA 830 Popuplatrs, publica en redes desde tu propio RSS
Este es el primer episodio de una serie de cuatro que voy a dedicar a herramientas que he implementado y que uso en mi día a día. Las cuatro comparten stack: Rust en el backend y React con TypeScript en el frontend. Y la primera es, sin duda, una de las que más me facilitan la vida: Popuplatrs.
¿Te suena el ritual de publicar un artículo y tener que abrir Telegram, luego Mastodon, luego X, luego LinkedIn, luego Bluesky, y encima personalizar el texto para cada plataforma? Pues eso es exactamente lo que Popuplatrs elimina de tu día a día. Le das uno o varios feeds RSS, Atom o YouTube, y él se encarga de leer las novedades y publicarlas automáticamente en las redes que le configures. Con plantillas personalizables, programación de horarios, reintentos automáticos y un panel web desde el que controlarlo todo.
En este episodio te cuento por qué me decidí a crear esta herramienta, qué alternativas existen (Buffer, Hootsuite, IFTTT, Zapier) y por qué ninguna me convencía al ser SaaS o no estar pensadas para funcionar a partir de feeds. También te explico la arquitectura técnica: Rust con Axum, SQLite en modo WAL, autenticación OIDC con Pocket ID, y un sistema de plantillas con MiniJinja que te permite personalizar el mensaje para cada red social.
Popuplatrs soporta hasta nueve publicadores diferentes: Telegram, X (Twitter), Mastodon, Bluesky, LinkedIn, Threads, Discord, Matrix y OpenObserve para logging. Cada uno con su propia configuración de autenticación y límites de caracteres. Por ejemplo, en Bluesky publica respetando el límite de 300 caracteres, en X primero lanza el título y luego un reply con el enlace para aprovechar mejor el espacio, y en Discord usa webhooks que se configuran en segundos.
El sistema de plantillas es una de las partes que más me gustan. Usa MiniJinja, un motor compatible con Jinja2, y te permite definir plantillas distintas para cada plataforma. Puedes truncar el texto a un número de caracteres, limitar las palabras, eliminar HTML, y combinar el título con la descripción como más te convenga. Todo desde el panel web, sin tocar código.
Y por supuesto, te cuento cómo tenerlo corriendo en tu servidor en cinco minutos con Docker. Porque si algo me gusta es que las herramientas sean fáciles de desplegar.
Capítulos:
0:00 - Introducción: el problema de publicar en redes sociales
1:45 - Alternativas existentes y sus limitaciones
3:00 - Qué es Popuplatrs: origen, nombre y características principales
4:15 - Arquitectura técnica: Rust, Axum, SQLite y Pocket ID
5:45 - Fuentes soportadas: RSS, Atom y YouTube
7:00 - Publicadores: hasta nueve plataformas sociales
8:30 - Panel web: dashboard, logs y republicación de errores
10:30 - Programación, reintentos y control anti-spam
12:00 - Motor de plantillas y personalización por plataforma
13:30 - Despliegue con Docker Compose, Pocket ID y despedida
Más información y enlaces en las notas del episodio
- 🌐 Aquí lo puedes encontrar todo 👉 https://atareao.es
- ✈️ Telegram (el grupo) 👉 https://t.me/atareao_con_linux
- ✈️ Telegram (el canal) 👉 https://t.me/canal_atareao
- 🦣 Mastodon 👉 https://mastodon.social/@atareao
- 🐦 Twitter 👉 https://twitter.com/atareao
- 🐙 GitHub 👉 https://github.com/atareao