Le tue notizie IT
Una cosa che può essere interessante per un reparto IT è essere aggiornati su ciò che sta accadendo intorno a noi, Ricevere notizie dal nostro mondo, che è interessante sapere, come i bollettini di sicurezza, o per sapere quando un nostro produttore ha pubblicato una nuova versione, benda… di qualsiasi prodotto che utilizziamo…
Bene, ma per questo e altre cose che vedremo, useremo un lettore RSS, così semplice, ma faremo le cose per bene, e bello :-). Possiamo mettere in piedi in un minuto, un contenitore Docker dove avremo un lettore e aggregatore di notizie basato sul web (RSS/Atom) gratuito e open source, in questo documento useremo Tiny Tiny RSS, che è molto leggero, semplice e completo.
Ma non sarà solo un portale di notizie a cui possiamo accedere manualmente via web o con un'app sui nostri cellulari, ma potremo configurarlo affinché ci invii un'email con il riassunto giornaliero delle notizie, Per esempio, al mattino avere una email con le notizie importanti sulla cybersicurezza, o se abbiamo qualche patch da applicare…
E, il contenuto? le iscrizioni? Beh, come puoi immaginare, tra virgolette è qualcosa di personale, dipenderà da cosa vuoi tenere d'occhio, per esempio puoi iscriverti a liste di avvisi, di allerta precoce riguardo alla cyber sicurezza, o conoscere i recenti attacchi a aziende spagnole, o quello che ho detto, iscriverti ai siti di download dei tuoi produttori, e quando pubblicano una nuova versione sul loro sito, sarai informato.
Per distribuire rapidamente i contenitori di Tiny Tiny RSS dovremo avere previamente una macchina con Linux pronta, per esempio Ubuntu Server, con Docker e Docker Compose installati; A parte il solito, che la macchina abbia un nome, un indirizzo IP, NTP… Nel mio caso creo una cartella chiamata ‘tinytinyrss’ dove lasceremo un paio di file, il primo è quello che porta la configurazione chiamato ‘.env’ e vi lascio qui il suo contenuto, obtenido de la documentación oficial, debéis establecer al menos la contraseña del usuario ‘admin’:
# Put any local modifications here. # Run FPM under this UID/GID. # OWNER_UID=1000 # OWNER_GID=1000 # FPM settings. #PHP_WORKER_MAX_CHILDREN=5 #PHP_WORKER_MEMORY_LIMIT=256M # ADMIN_USER_* settings are applied on every startup. # Set admin user password to this value. If not set, random password will be generated on startup, look for it in the 'app' container logs. ADMIN_USER_PASS=CONTRASEÑA_DE_ADMIN # Sets admin user access level to this value. Valid values: # -2 - forbidden to login # -1 - readonly # 0 - default user # 10 - admin #ADMIN_USER_ACCESS_LEVEL= # Auto create another user (in addition to built-in admin) unless it already exists. #AUTO_CREATE_USER= #AUTO_CREATE_USER_PASS= #AUTO_CREATE_USER_ACCESS_LEVEL=0 # Default database credentials. TTRSS_DB_USER=postgres TTRSS_DB_NAME=postgres TTRSS_DB_PASS=password # You will likely need to set this to the correct value - it should point to external tt-rss URL as seen in your browser. TTRSS_SELF_URL_PATH=http://example.com/tt-rss # You can customize other config.php defines by setting overrides here. See tt-rss/.docker/app/Dockerfile for complete list. Esempi: # TTRSS_PLUGINS=auth_remote # TTRSS_SINGLE_USER_MODE=true # TTRSS_SESSION_COOKIE_LIFETIME=2592000 # TTRSS_FORCE_ARTICLE_PURGE=30 # ... # Bind exposed port to 127.0.0.1 to run behind reverse proxy on the same host. If you plan expose the container, togliere "127.0.0.1:". #HTTP_PORT=127.0.0.1:8280 HTTP_PORT=8280
Así mismo crearemos el fichero ‘docker-compose.yml’ con la configuración de los contenedores:
Versione: Servizi '3':
Db:
immagine: Postgres:15-alpine
restart: unless-stopped
env_file:
- .env
environment:
- POSTGRES_USER=${TTRSS_DB_USER}
- POSTGRES_PASSWORD=${TTRSS_DB_PASS}
- POSTGRES_DB=${TTRSS_DB_NAME}
Volumi:
- Db:/var/lib/postgresql/data
app:
immagine: cthulhoo/ttrss-fpm-pgsql-static:latest
restart: unless-stopped
env_file:
- .env
volumes:
- App:/var/www/html
- ./config.d:/opt/tt-rss/config.d:ro
depends_on:
- Db
# opzionale, makes weekly backups of your install
# backups:
# immagine: cthulhoo/ttrss-fpm-pgsql-static:ultimissimo
# Riavviare: unless-stopped
# env_file:
# - .Env
# Volumi:
# - backups:/backups
# - App:/var/www/html
# depends_on:
# - Db
# comando: /opt/tt-rss/dcron.sh -f
updater:
immagine: cthulhoo/ttrss-fpm-pgsql-static:latest
restart: unless-stopped
env_file:
- .env
volumes:
- App:/var/www/html
- ./config.d:/opt/tt-rss/config.d:ro
depends_on:
- app
command: /opt/tt-rss/updater.sh
web-nginx:
immagine: cthulhoo/ttrss-web-nginx:latest
restart: unless-stopped
env_file:
- .env
ports:
- ${HTTP_PORT}:80
Volumi:
- App:/var/www/html:ro
depends_on:
- app
volumes:
Db:
App:
backups:
E, tras guardar ambos ficheros ya podemos descargar las imágenes y desplegar los contenedores ejecutando:
sudo docker compose up -d
Y ya podremos acceder con un navegador por HTTP al puerto que indicamos en el fichero de configuración, por defecto el 8280tcp. Entraremos con el usuario ‘admin’ y la contraseña igualmente establecida en el fichero de configuración.
Veréis que a aplicación no tiene mucho misterio, su uso es muy sencillo, arriba a la derecha podremos entrar a las preferencias y crear directorios para organizarnos, así como para añadir sitios, bien por su URL o sus RSS, no nos preocuparemos ya que se añadirá perfectamente la web de la que queremos tener noticias cuando publiquen algo, se le pondrá su icono…
Y algo así quedaría por ejemplo las noticias de Una al día de Hispasec, también por supuesto os recomiendo las listas de INCIBE, quello di Avvisi, la de su Registro di sicurezza informatica o si queréis la de Vulnerabilità… O también las del Centro Criptológico Nacional o CCN-CERT, Abbiamo Avvisi, Avvisi e Vulnerabilità tra gli altri. Cuantas menos, mejor 😉
O por ejemplo lo dicho, podemos usarla para suscribirnos a nuestros fabricantes, y que cuando saquen una nueva versión de un producto que usemos lo sepamos, o un parche, update… Bastará con ir a la web del fabricante, buscar la URL o el RSS de la web donde suela publicarlos, y añadirla a nuestro Tiny Tiny RSS (en las Fuentes).
Se puede compartir la misma instancia de Tiny Tiny RSS para tener un usuario genérico y compartirlo con el resto del equipo, o cada uno podrá tener su propio usuario de acceso y sus propias suscripciones.
![]() |
![]() |
![]() |
![]() |
Y tenéis varios clientes RSS en los Stores de vuestros móviles, yo uso en Android la app original. Os dejo unos pantallazos de cómo se verían las distintas vistas,
E, (Per me) lo mejor de todo esto… es que no es necesario estar pendiente de acceder al sitio web para estar informado. Si no que lo comentado, se puede recibir un mail diario con el resumen, de lo que tu escojas y como veis totalmente personalizable, corporativo…
Per fare ciò,, bastará con ir a las Preferencias de Tiny Tiny RSS en los Correos recopilatorios marcar ‘Enable digest’ e indicamos la hora aproximada en UTC para recibirlos.
Para que funcione el envío SMTP en Tiny Tiny RSS deberemos descargarnos un Plugin y darnos permisos, lo haremos ejecutando algo como esto:
git clone https://git.tt-rss.org/fox/ttrss-mailer-smtp.git /var/lib/docker/volumes/tinytinyrss_app/_data/tt-rss/plugins.local/mailer_smtp chown USUARIO_LINUX: /var/lib/docker/volumes/tinytinyrss_app/_data/tt-rss/plugins.local/mailer_smtp/ -R
Para configurar el SMTP, bastará con añadir a nuestro fichero ‘.env’ estas configuraciones:
TTRSS_PLUGINS=mailer_smtp,auth_internal,nginx_xaccel,note TTRSS_SMTP_FROM_NAME='NOMBRE DEL REMITENTE' TTRSS_SMTP_FROM_ADDRESS=CO**************@*****IO.ESO TTRSS_SMTP_SERVER=SERVIDOR_SMTP:587 TTRSS_SMTP_LOGIN=NOI*****@*****IO.ESO TTRSS_SMTP_PASSWORD=CONTRASEÑA TTRSS_SMTP_SECURE=tls TTRSS_SMTP_SKIP_CERT_CHECKS=yes TTRSS_DIGEST_SUBJECT='ASUNTO DEL CORREO'
E niente, regeneramos los contenedores con los cambios realizados, aunque me pongo a pensar y quizá con reiniciar el contenedor valdría, totale, Che cosa:
sudo docker compose up -d
Si queréis cambiar la plantilla del correo, para hacerlo customizado, tendréis que editar el fichero /home/usuario/tinytinyrss/digest_template_html.txt, vaya o donde hayáis creado la carpeta de ‘tinytinyrss’, y con código HTML lo tendremos en un periquete:
<!-- $BeginBlock digest --> <p style='font-family:Roboto Slab; dimensione-carattere:14px'>Buenos dícome,</p> <p style='font-family:Roboto Slab; dimensione-carattere:14px'>Te enviamos las últimas noticias y novedades, Per favore, presta atención:</p> <!-- $BeginBlock feed --> <b><p style='font-family:Roboto Slab'>${FEED_TITLE}</p></b> <ul> <!-- $BeginBlock article --> <li style='font-family:Roboto Slab; dimensione-carattere:14px'><a href="${ARTICLE_LINK}">${ARTICLE_TITLE}</A> <div><Em>${ARTICLE_LABELS}</Em></div> <div>${ARTICLE_EXCERPT}</div> <!-- $EndBlock article --> </ul> <!-- $EndBlock feed --> <p>Y aquí ponéis vuestra firma</p> <!-- $EndBlock digest -->
Bene, ¿chulo? Ahora no tenemos excusa para no estar al día de todo lo que sucede a nuestro alrededor, de las últimas noticias de ciberseguridad, de nuestros sitios IT de referencia (como pueda ser este blog 😉 😉 ), de cuando el producto de turno tiene un update… Come al solito, es mezclar cosas, dar ideas y posibilidades de mejorar nuestra organización en nuestros departamentos, come al solito, que seáis felices y comáis perdices!
















































