memory(MEM-20260825-EED6F1): Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)
This commit is contained in:
+66
@@ -0,0 +1,66 @@
|
||||
+++
|
||||
title = "Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)"
|
||||
description = "Continuación de MEM-20260824-254312: se agregó la misma cuenta dedicada notificaciones@mcps-epcm.org como remitente SMTP de Gitea, que no tenía sección [mailer] configurada en absoluto (recuperación de contraseña también era imposible ahí)."
|
||||
date = 2026-08-25T01:01:15Z
|
||||
authors = ["gen"]
|
||||
slug = "mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea"
|
||||
template = "memory.html"
|
||||
|
||||
[taxonomies]
|
||||
categories = ["memorias"]
|
||||
tags = ["correo", "docker-mailserver", "gitea", "smtp"]
|
||||
systems = ["gitea", "mail-server", "mcps-hpc-01", "mcps-vpn-server"]
|
||||
|
||||
[extra]
|
||||
id = "MEM-20260825-EED6F1"
|
||||
kind = "memory"
|
||||
author_id = "gen"
|
||||
author_fingerprint = "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg"
|
||||
risk = "medium"
|
||||
ticket = ""
|
||||
review_required = true
|
||||
review_policy = "all-active"
|
||||
reviewer_snapshot = true
|
||||
reviewers = ["gen"]
|
||||
started_at = ""
|
||||
finished_at = ""
|
||||
duration_minutes = 0
|
||||
agent = "claude-code"
|
||||
+++
|
||||
|
||||
## Contexto
|
||||
|
||||
El usuario pidió extender el correo saliente ya configurado para Zammad y Grafana (ver MEM-20260824-254312) también a git.mcps-epcm.org (Gitea 1.27.1, contenedor 'gitea' en mcps-hpc-01). Revisando /opt/gitea/data/gitea/conf/app.ini no había sección [mailer] en absoluto — mismo escenario que Grafana: Gitea no podía mandar ningún correo, incluyendo el de recuperación de contraseña. El contenedor ya se gestiona con un unit de systemd propio (/etc/systemd/system/container-gitea.service) que arma la config vía variables GITEA__<seccion>__<clave> (convención propia de Gitea, ya usada para server/database/service/security en ese mismo unit) — se siguió el mismo patrón agregando GITEA__mailer__*, en vez de editar app.ini a mano, porque el entrypoint de Gitea vuelve a sincronizar esas variables a app.ini en cada arranque del contenedor (editar el archivo directamente se habría perdido o desincronizado en el próximo restart). La contraseña de notificaciones@ se inyectó igual que en Grafana: forma 'bare' de podman vía un EnvironmentFile dedicado (/etc/gitea-smtp.env, 600 root:root), no hardcodeada en el unit. Se respaldó el unit original antes de editar. Tras systemctl daemon-reload + restart, se confirmó que app.ini quedó con [mailer] ENABLED=true y los valores correctos, el contenedor arrancó limpio (sin errores de mail en el log) y el sitio respondió HTTP 200. No se disparó un envío real de prueba (a diferencia de Zammad): Gitea no expone un comando de CLI para probar el mailer, y el botón de 'enviar correo de prueba' vive en su panel de administración web, al que no tengo acceso desde este entorno. La credencial notificaciones@mcps-epcm.org ya se había verificado funcional por SMTP en la memoria anterior (swaks + entrega real confirmada desde Zammad), así que la confianza en que funcione aquí es alta pero no está confirmada específicamente para Gitea.
|
||||
|
||||
## Cambios realizados
|
||||
|
||||
- Creado /etc/gitea-smtp.env (600, root:root) con GITEA__mailer__PASSWD
|
||||
- Respaldado el unit original como container-gitea.service.bak-2026-08-24
|
||||
- Agregadas variables GITEA__mailer__ENABLED/PROTOCOL/SMTP_ADDR/SMTP_PORT/FROM/USER/PASSWD al ExecStart de /etc/systemd/system/container-gitea.service, con EnvironmentFile=/etc/gitea-smtp.env
|
||||
- systemctl daemon-reload + restart de container-gitea.service
|
||||
|
||||
## Comandos relevantes (secretos redactados)
|
||||
|
||||
```console
|
||||
podman inspect gitea --format '{{range .Config.Env}}{{println .}}{{end}}'
|
||||
cat /opt/gitea/data/gitea/conf/app.ini
|
||||
podman exec gitea gitea --version
|
||||
systemctl cat container-gitea.service
|
||||
cp /etc/systemd/system/container-gitea.service /etc/systemd/system/container-gitea.service.bak-2026-08-24
|
||||
tee /etc/gitea-smtp.env # GITEA__mailer__PASSWD=<redactado>, chmod 600
|
||||
systemctl daemon-reload && systemctl restart container-gitea.service
|
||||
cat /opt/gitea/data/gitea/conf/app.ini # confirmar seccion [mailer]
|
||||
podman logs gitea | grep -iE 'mail|error|fatal|panic'
|
||||
curl -s -o /dev/null -w '%{http_code}' http://10.89.0.60:3000/
|
||||
```
|
||||
|
||||
## Validación
|
||||
|
||||
- app.ini tras el restart mostró [mailer] con ENABLED=true, PROTOCOL=smtp+starttls, SMTP_ADDR=mail.mcps-epcm.org, SMTP_PORT=587, USER/FROM=notificaciones@mcps-epcm.org y la contraseña correcta
|
||||
- podman logs gitea sin líneas de error/fatal/panic ni menciones de mail tras el arranque
|
||||
- curl al puerto interno del contenedor devolvió HTTP 200
|
||||
- systemctl is-active container-gitea.service devolvió 'active', sin reinicios en bucle
|
||||
|
||||
## Riesgo y reversión
|
||||
|
||||
Restaurar /etc/systemd/system/container-gitea.service.bak-2026-08-24 sobre container-gitea.service, borrar /etc/gitea-smtp.env, systemctl daemon-reload && systemctl restart container-gitea.service para volver Gitea a su estado sin [mailer]. Pendiente: un administrador debe probar el flujo real de 'olvidé mi contraseña' en git.mcps-epcm.org (o el botón de correo de prueba en Admin > Configuración) para confirmar la entrega end-to-end, igual que sigue pendiente para Grafana.
|
||||
@@ -1,14 +1,42 @@
|
||||
{
|
||||
"version": 2,
|
||||
"generated_at": "2026-08-24T20:49:04Z",
|
||||
"source_sha256": "c890451b817fb13c727792dbcf5d5473c06646493435c2b1c8be6e39884a325f",
|
||||
"generated_at": "2026-08-25T01:01:15Z",
|
||||
"source_sha256": "24c5629b3f812fee92bb28270c4c245f3c4735eef59c8cdadb91d05aeda0813d",
|
||||
"stats": {
|
||||
"active_admins": 1,
|
||||
"pending_reviews": 6,
|
||||
"pending_reviews": 7,
|
||||
"open_tasks": 1,
|
||||
"active_projects": 1
|
||||
},
|
||||
"review_queue": [
|
||||
{
|
||||
"entry_id": "MEM-20260825-EED6F1",
|
||||
"title": "Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)",
|
||||
"description": "Continuación de MEM-20260824-254312: se agregó la misma cuenta dedicada notificaciones@mcps-epcm.org como remitente SMTP de Gitea, que no tenía sección [mailer] configurada en absoluto (recuperación de contraseña también era imposible ahí).",
|
||||
"date": "2026-08-25T01:01:15Z",
|
||||
"author_id": "gen",
|
||||
"risk": "medium",
|
||||
"tags": [
|
||||
"correo",
|
||||
"docker-mailserver",
|
||||
"gitea",
|
||||
"smtp"
|
||||
],
|
||||
"systems": [
|
||||
"gitea",
|
||||
"mail-server",
|
||||
"mcps-hpc-01",
|
||||
"mcps-vpn-server"
|
||||
],
|
||||
"permalink": "/memorias/mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea/",
|
||||
"content_sha256": "08a71d39d9b0fab0f2c1cd6cec76fc087157ec007748be6361e0a90e40095235",
|
||||
"reviewed_by": [],
|
||||
"missing_reviewers": [
|
||||
"gen"
|
||||
],
|
||||
"required_count": 1,
|
||||
"reviewed_count": 0
|
||||
},
|
||||
{
|
||||
"entry_id": "MEM-20260824-254312",
|
||||
"title": "Configurar correo saliente para recuperación de contraseña en Zammad y Grafana",
|
||||
@@ -168,6 +196,37 @@
|
||||
}
|
||||
],
|
||||
"recent_memories": [
|
||||
{
|
||||
"entry_id": "MEM-20260825-EED6F1",
|
||||
"title": "Extender el correo saliente de notificaciones a git.mcps-epcm.org (Gitea)",
|
||||
"description": "Continuación de MEM-20260824-254312: se agregó la misma cuenta dedicada notificaciones@mcps-epcm.org como remitente SMTP de Gitea, que no tenía sección [mailer] configurada en absoluto (recuperación de contraseña también era imposible ahí).",
|
||||
"date": "2026-08-25T01:01:15Z",
|
||||
"author_id": "gen",
|
||||
"author_fingerprint": "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg",
|
||||
"risk": "medium",
|
||||
"review_required": true,
|
||||
"review_policy": "all-active",
|
||||
"reviewer_snapshot": true,
|
||||
"reviewers": [
|
||||
"gen"
|
||||
],
|
||||
"tags": [
|
||||
"correo",
|
||||
"docker-mailserver",
|
||||
"gitea",
|
||||
"smtp"
|
||||
],
|
||||
"systems": [
|
||||
"gitea",
|
||||
"mail-server",
|
||||
"mcps-hpc-01",
|
||||
"mcps-vpn-server"
|
||||
],
|
||||
"slug": "mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea",
|
||||
"permalink": "/memorias/mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea/",
|
||||
"source_path": "content/memorias/2026-08-25-mem-20260825-eed6f1-extender-el-correo-saliente-de-notificaciones-a-git-mcps-epcm-org-gitea.md",
|
||||
"content_sha256": "08a71d39d9b0fab0f2c1cd6cec76fc087157ec007748be6361e0a90e40095235"
|
||||
},
|
||||
{
|
||||
"entry_id": "MEM-20260824-254312",
|
||||
"title": "Configurar correo saliente para recuperación de contraseña en Zammad y Grafana",
|
||||
|
||||
Reference in New Issue
Block a user