Fa temps que, quan treballo amb servidors de correu o amb entorns basats en iRedMail, em trobo amb la mateixa necessitat: petites peces de funcionalitat que no justifiquen una gran aplicació nova, però que sí que fan més còmode el dia a dia.

D’aquí surt la idea de iredadmin_modules: un espai per agrupar ajustos, mòduls i proves relacionades amb iRedAdmin.

Per què fer-ho

iRedAdmin ja resol la part principal d’administració, però sovint acaben apareixent necessitats molt concretes:

  • adaptar alguna vista
  • afegir un comportament puntual
  • provar canvis petits sense reestructurar tot el projecte
  • deixar documentats experiments que després poden créixer

Tenir aquests canvis agrupats en un repo separat em va bé perquè em permet treballar amb més ordre i sense barrejar-ho tot dins de la instal.lació principal.

Què hi trobo útil

El valor d’un recull així no és només el codi. També és la possibilitat de deixar un historial clar del que he anat tocant:

  • mòduls petits i acotats
  • proves que després poden passar a producció
  • canvis repetibles
  • una base per documentar decisions

Quan tens diversos servidors o has de recuperar una idea al cap d’uns mesos, això s’agraeix molt.

Un espai més per documentar

Molts cops aquests repositoris no neixen per fer soroll, sinó per tenir memòria tècnica. Què vaig tocar, per què ho vaig fer i com es pot tornar a aplicar.

Per això m’agrada entendre iredadmin_modules com una caixa d’eines en evolució. Potser algun mòdul només resol un cas molt concret, però ja compensa si la pròxima vegada no he de començar des de zero.

A grans trets hi pots trobar:

  • Mòdul de gestió de perfils: ho he fet amb classes de python amb l’intenció que fos híbrid per SQL i LDAP. És el CRUD
  • Mòdul Amavisd New (spampolicy, white & black lists, logs i quarentenes)
  • Mòdul fail2ban
  • Mòdul iredapd: throttle i gestió de llistes grises
  • Mòdul maillist: llistes de correu per domini.
  • Mòdul Sistema: tota la resta, propietat de domini, utilitats i mixins, buscador, 2FA, …

També he mirat d’afegir un llista de skin que permet canviar de presentació entre clàssic, codyframe (implementació pròpia. hi ha algun que altre article), tailwind. també hi ha bootstrap però està molt verd.

Algunes captures

Per no fer el post massa llarg visualment, deixo només miniatures. Si hi fas clic, s’obre la imatge completa.

Instal·lador d'iredadmin_modules des del terminal
Instal·lació guiada del patch i dels components principals.
Execució completa de la instal·lació d'iredadmin_modules
Procés d'instal·lació complet, amb dependències i ajustos aplicats.
Pantalla de login d'iRedAdmin personalitzada
Pantalla d'entrada amb l'estil visual actualitzat.
Dashboard clàssic d'iRedAdmin amb millores visuals
Vista del dashboard amb ajustos de navegació i presentació.
Dashboard renovat d'iRedAdmin amb targetes i accessos ràpids
Una versió més treballada del panell principal, amb targetes i accessos ràpids.

Enllaç al repositori

Si vols fer-hi una ullada, el repositori és aquí:

🔗 iredadmin_modules a GitHub

I, com a referència del projecte principal:

🔗 iRedAdmin

Tancant 🪂

M’agrada conservar aquest tipus de repositoris perquè expliquen millor la feina real que no pas una descripció genèrica. Són peces petites, sí, però sovint són aquestes peces les que acaben fent més habitable un entorn d’administració. 🤗