2
Actualización
groales edited this page 2025-12-03 16:30:49 +01:00

Actualización

Mantén Gitea y PostgreSQL actualizados para obtener nuevas características y parches de seguridad.

🔄 Actualización desde Portainer

Método 1: Git Repository Stack

Si desplegaste usando Git Repository:

  1. Ve a Stacks → Tu stack gitea
  2. Haz clic en Pull and redeploy
  3. Portainer:
    • Descarga la última versión del compose desde Git
    • Descarga las imágenes Docker actualizadas
    • Recrea los contenedores

⏱️ Tiempo estimado: 2-5 minutos (con downtime)

Método 2: Web Editor Stack

Si usaste Web Editor:

  1. Ve a Stacks → Tu stack gitea
  2. Haz clic en Editor
  3. No cambies nada (usa latest tag)
  4. Haz clic en Update the stack
  5. Marca Re-pull image and redeploy

🖥️ Actualización desde CLI

Actualización Estándar

cd /path/to/gitea

# 1. Hacer backup antes de actualizar
./backup-gitea.sh  # Si tienes script de backup

# 2. Descargar nuevas imágenes
docker compose pull

# 3. Recrear contenedores
docker compose up -d

# 4. Verificar logs
docker compose logs -f

Actualización con Downtime Mínimo

# 1. Pull de imágenes (sin downtime)
docker compose pull

# 2. Recrear solo Gitea (downtime ~10 segundos)
docker compose up -d --no-deps gitea

# 3. Verificar
docker compose ps
docker compose logs gitea

📋 Checklist Pre-Actualización

Antes de actualizar, verifica:

  • Backup reciente: Tienes backup de datos y BD
  • Changelog revisado: Lee Gitea Releases
  • Breaking changes: Verifica si hay cambios que rompan compatibilidad
  • Migraciones de BD: Algunas versiones requieren migraciones
  • Tiempo de ventana: Planifica mantenimiento si es producción

🔍 Verificar Versión Actual

# Ver versión de Gitea
docker compose exec gitea gitea --version

# Ver versión de PostgreSQL
docker compose exec gitea-db psql --version

# Ver tags de imágenes
docker compose images

🆙 Actualizar a Versión Específica

Si necesitas una versión específica en lugar de latest:

Editar docker-compose.yml

services:
  gitea:
    image: gitea/gitea:1.21.0  # En lugar de :latest
  
  gitea-db:
    image: postgres:18-alpine   # Mantener versión

Actualizar

docker compose pull
docker compose up -d

🔄 Migraciones Automáticas

Gitea ejecuta migraciones de base de datos automáticamente al iniciar:

# Ver logs de migración
docker compose logs gitea | grep -i migrat

# Ejemplo de salida:
# [I] [SQL] Running migration: v123 -> Add new column to issues table

⚠️ Las migraciones son irreversibles. Por eso es crítico hacer backup antes.

🐘 Actualizar PostgreSQL

Actualización Menor (16.0 → 16.1)

# Cambiar en compose
image: postgres:18.1-alpine

# Actualizar
docker compose pull gitea-db
docker compose up -d gitea-db

Actualización Mayor (15 → 16)

Requiere dump y restore:

# 1. Backup de BD
docker compose exec gitea-db pg_dump -U gitea gitea > gitea-backup.sql

# 2. Detener servicios
docker compose down

# 3. Eliminar volumen de BD
docker volume rm gitea_db

# 4. Actualizar versión en compose
# image: postgres:18-alpine

# 5. Crear nuevo volumen y restaurar
docker volume create gitea_db
docker compose up -d gitea-db
sleep 10
docker compose exec -T gitea-db psql -U gitea gitea < gitea-backup.sql

# 6. Iniciar Gitea
docker compose up -d gitea

🧪 Probar Actualización

Antes de actualizar producción, prueba en entorno de desarrollo:

# Clonar setup
cp -r /path/to/gitea /tmp/gitea-test
cd /tmp/gitea-test

# Restaurar backup
# (seguir pasos de Backup y Restauración)

# Actualizar versión de prueba
docker compose pull
docker compose up -d

# Verificar funcionamiento
# Acceder a http://localhost:3000

🔙 Rollback (Volver Atrás)

Si algo sale mal:

Método 1: Restaurar desde Backup

# Detener servicios
docker compose down

# Restaurar volúmenes
# (seguir pasos de Backup y Restauración)

# Iniciar con versión anterior
docker compose up -d

Método 2: Usar Versión Anterior de Imagen

# Ver imágenes disponibles
docker images | grep gitea

# Editar compose para usar imagen anterior
image: gitea/gitea:1.20.0  # Versión previa

# Aplicar
docker compose up -d --force-recreate gitea

📅 Estrategia de Actualizaciones

Opción 1: Siempre Latest (Automático)

Pros:

  • Siempre al día
  • Parches de seguridad inmediatos

Contras:

  • Puede romper sin aviso
  • Requiere supervisión

Opción 2: Versiones Específicas (Manual)

Pros:

  • Control total
  • Actualizaciones planificadas

Contras:

  • Requiere monitoreo manual
  • Puede quedar desactualizado

Recomendación

Para producción:

  • Usa versiones específicas (ej: 1.21.0)
  • Monitorea Gitea Releases
  • Actualiza mensualmente o cuando hay parches de seguridad
  • Siempre prueba en entorno de desarrollo primero

🔔 Notificaciones de Nuevas Versiones

GitHub Watch

  1. Ve a https://github.com/go-gitea/gitea
  2. Haz clic en WatchCustom Releases
  3. Recibirás emails de nuevas versiones

RSS Feed

Suscríbete al feed:

https://github.com/go-gitea/gitea/releases.atom

🛡️ Actualizaciones de Seguridad

Para parches críticos de seguridad:

  1. Lee el Security Advisory
  2. Haz backup inmediato
  3. Actualiza lo antes posible
  4. Verifica que funciona
  5. Monitorea logs por 24-48 horas

📊 Después de Actualizar

# 1. Verificar versión
docker compose exec gitea gitea --version

# 2. Ver logs
docker compose logs --tail=100 gitea

# 3. Probar funciones clave
# - Login
# - Clonar repositorio
# - Push nuevo commit
# - Crear issue
# - Revisar panel de administración

# 4. Monitorear recursos
docker stats gitea gitea-db

Siguiente: Solución de Problemas